Migration資料庫遷移工具 Phinx
說明
Phinx 可以讓開發者簡潔地修改和維護資料庫。它避免了人工手寫 SQL 語句,它使用強大的 PHP API 去管理資料庫遷移。開發者可以使用版本控制管理他們的資料庫遷移。Phinx 可以方便地進行不同資料庫之間資料的遷移。還可以追蹤到哪些遷移腳本被執行,開發者可以不再擔心資料庫的狀態,從而更加關注如何編寫出更好的系統。
專案地址
https://github.com/cakephp/phinx
安裝
composer require robmorgan/phinx
官方中文文件地址
詳細使用可以去看官方中文文件,這裡只講怎麼在webman中配置使用
https://tsy12321.gitbooks.io/phinx-doc/content/
遷移檔案目錄結構
.
├── app 應用目錄
│ ├── controller 控制器目錄
│ │ └── Index.php 控制器
│ ├── model 模型目錄
......
├── database 資料庫檔案
│ ├── migrations 遷移檔案
│ │ └── 20180426073606_create_user_table.php
│ ├── seeds 測試資料
│ │ └── UserSeeder.php
......
phinx.php 配置
在專案根目錄創建 phinx.php 檔案
<?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"
]
]
];
使用建議
遷移檔案一旦程式碼合併後不允許再次修改,出現問題必須新建修改或者刪除操作檔案進行處理。
資料表創建操作檔案命名規則
{time(auto create)}_create_{表名英文小寫}
資料表修改操作檔案命名規則
{time(auto create)}_modify_{表名英文小寫+具體修改項英文小寫}
資料表刪除操作檔案命名規則
{time(auto create)}_delete_{表名英文小寫+具體修改項英文小寫}
填充資料檔案命名規則
{time(auto create)}_fill_{表名英文小寫+具體修改項英文小寫}