Công cụ Di Chuyển Cơ Sở Dữ Liệu Phinx
Giới thiệu
Phinx cho phép các nhà phát triển dễ dàng chỉnh sửa và duy trì cơ sở dữ liệu. Nó tránh việc viết câu lệnh SQL bằng tay, mà sử dụng API PHP mạnh mẽ để quản lý việc di chuyển cơ sở dữ liệu. Các nhà phát triển có thể sử dụng kiểm soát phiên bản để quản lý việc di chuyển cơ sở dữ liệu của họ. Phinx cũng có thể dễ dàng thực hiện việc di chuyển dữ liệu giữa các cơ sở dữ liệu khác nhau. Nó còn có khả năng theo dõi các kịch bản di chuyển nào đã được thực hiện, cho phép các nhà phát triển không cần lo lắng về trạng thái của cơ sở dữ liệu và có thể tập trung hơn vào việc viết ra các hệ thống tốt hơn.
Địa chỉ dự án
https://github.com/cakephp/phinx
Cài đặt
composer require robmorgan/phinx
Địa chỉ tài liệu tiếng Trung chính thức
Chi tiết sử dụng có thể xem trong tài liệu tiếng Trung chính thức, ở đây chỉ đề cập cách cấu hình và sử dụng trong webman.
https://tsy12321.gitbooks.io/phinx-doc/content/
Cấu trúc thư mục tập tin di chuyển
.
├── app Thư mục ứng dụng
│ ├── controller Thư mục bộ điều khiển
│ │ └── Index.php Bộ điều khiển
│ ├── model Thư mục mô hình
......
├── database Tập tin cơ sở dữ liệu
│ ├── migrations Tập tin di chuyển
│ │ └── 20180426073606_create_user_table.php
│ ├── seeds Dữ liệu kiểm tra
│ │ └── UserSeeder.php
......
Cấu hình phinx.php
Tạo tập tin phinx.php trong thư mục gốc của dự án.
<?php
return [
"paths" => [
"migrations" => "database/migrations",
"seeds" => "database/seeds"
],
"environments" => [
"default_migration_table" => "phinxlog",
"default_database" => "dev",
"default_environment" => "dev",
"dev" => [
"adapter" => "DB_CONNECTION",
"host" => "DB_HOST",
"name" => "DB_DATABASE",
"user" => "DB_USERNAME",
"pass" => "DB_PASSWORD",
"port" => "DB_PORT",
"charset" => "utf8"
]
]
];
Khuyến nghị sử dụng
Một khi các tập tin di chuyển được hợp nhất, không được phép sửa đổi lại. Nếu có vấn đề, phải tạo mới tập tin thao tác sửa đổi hoặc xóa.
Quy tắc đặt tên tập tin thao tác tạo bảng
{time(auto create)}_create_{tên bảng bằng chữ thường tiếng Anh}
Quy tắc đặt tên tập tin thao tác sửa đổi bảng
{time(auto create)}_modify_{tên bảng bằng chữ thường tiếng Anh+ cụ thể sửa đổi bằng chữ thường tiếng Anh}
Quy tắc đặt tên tập tin thao tác xóa bảng
{time(auto create)}_delete_{tên bảng bằng chữ thường tiếng Anh+ cụ thể sửa đổi bằng chữ thường tiếng Anh}
Quy tắc đặt tên tập tin điền dữ liệu
{time(auto create)}_fill_{tên bảng bằng chữ thường tiếng Anh+ cụ thể sửa đổi bằng chữ thường tiếng Anh}