arakaki-yuji / mig
简单的SQL迁移。
0.3.7
2019-02-27 09:14 UTC
Requires
- symfony/console: ~3.4|~4.0
README
Mig 是一个简单的 SQL 脚本迁移工具,由 php 创建。
它仅经过 MySQL 测试。
快速入门
通过 composer global 安装 mig
$ composer global require arakaki-yuji/mig
将 composer 的执行路径添加到 $PATH。
$ export PATH=$PATH:$HOME/.composer/vendor/bin
将 mig.config.php 设置为项目根目录。
<?php return [ 'db_dsn' => '', // example: mysql:host=localhost:3306;dbname=project_db; 'db_username' => '', 'db_passwd' => '', 'migration_filepath' => 'migrations' // directory for place SQL scripts. ];
运行 init 命令。它会创建迁移表。
$ mig-cli init
创建迁移的 SQL 脚本。
$ mig-cli create create_user_table Create a new migration file. ================= create migrations/20180907025457_create_user_table.up.sql create migrations/20180907025457_create_user_table.down.sql
将以下 SQL 脚本添加到 migrations/20180907025457_create_user_table.up.sql。
CREATE TABLE IF NOT EXISTS user(id BIGINT);
将以下 SQL 脚本添加到 migrations/20180907025457_create_user_table.down.sql。
DROP TABLE IF EXISTS user;
应用挂起的迁移。
$ mig-cli migrate Start migration. ================= Migrate migrations/20180907025457_create_user_table.up.sql
回滚最近应用的迁移。
$ mig-cli rollback Rollback a migration. ====================== Rollback migrations/20180907025457_create_user_table.down.sql
通过环境变量设置配置值
如果您想通过环境变量设置配置值,可以这样做。
$ MIG_DB_DSN="mysql:host=127.0.0.1:3306;dbname=migrationdbname;" MIG_DB_USERNAME="admin" MIG_DB_PASSWD="password" MIG_MIGRATION_FILEPATH="migrations" mig-cli migrate Start migration. ================= Migrate migrations/20180907025457_create_user_table.up.sql