arakaki-yuji/mig

简单的SQL迁移。

0.3.7 2019-02-27 09:14 UTC

This package is auto-updated.

Last update: 2024-09-28 19:47:22 UTC


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