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}