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 chỉnh sửa và bảo trì cơ sở dữ liệu một cách dễ dàng. Nó tránh việc viết SQL thủ công bằng cách sử dụng API PHP mạnh mẽ để quản lý di chuyển cơ sở dữ liệu. Nhà phát triển có thể sử dụng quản lý phiên bản để quản lý di chuyển cơ sở dữ liệu của họ. Phinx có thể dễ dàng di chuyển dữ liệu giữa các cơ sở dữ liệu khác nhau. Nó cũng có thể theo dõi xem những tập lệnh di chuyển nào đã được thực thi, giúp nhà phát triển không còn lo lắng về trạng thái của cơ sở dữ liệu mà tập trung hơn vào việc viết ra hệ thống tốt hơn.

Địa chỉ dự án

https://github.com/cakephp/phinx

Cách cài đặt

composer require robmorgan/phinx

Địa chỉ tài liệu chính thức tiếng Trung

Bạn có thể xem tài liệu chi tiết tại đây, ở đây chỉ hướng dẫn 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 di chuyển file

.
├── app                           Thư mục ứng dụng
│   ├── controller                Thư mục điều khiển
│   │   └── Index.php             Điều khiển
│   ├── model                     Thư mục mô hình
......
├── database                      Tệp cơ sở dữ liệu
│   ├── migrations                Di chuyển tệp
│   │   └── 20180426073606_create_user_table.php
│   ├── seeds                     Dữ liệu kiểm tra
│   │   └── UserSeeder.php
......

Cấu hình phinx.php

Tạo tệp 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"
        ]
    ]
];

Gợi ý sử dụng

Một khi tệp di chuyển đã được hợp nhất, không được phép chỉnh sửa lại, nếu gặp sự cố, phải tạo tệp di chuyển mới hoặc xóa để xử lý.

Quy tắc đặt tên tệp hoạt động tạo bảng dữ liệu

{time(tự động tạo)}_create_{tên bảng viết thường tiếng Anh}

Quy tắc đặt tên tệp hoạt động sửa bảng dữ liệu

{time(tự động tạo)}_modify_{tên bảng viết thường tiếng Anh+cụ thể sửa đổi tiếng Anh viết thường}

Quy tắc đặt tên tệp hoạt động xóa bảng dữ liệu

{time(tự động tạo)}_delete_{tên bảng viết thường tiếng Anh+cụ thể sửa đổi tiếng Anh viết thường}

Quy tắc đặt tên tệp điền dữ liệu

{time(tự động tạo)}_fill_{tên bảng viết thường tiếng Anh+cụ thể sửa đổi tiếng Anh viết thường}