## 安装

* sqitch version: prod 0.9993 *

我们用的sqitch版本维持在0.9993(0.9995也ok)

### sql plan名字约定

	appmodule_yyyy_mm_dd_your_db_schema_update_desc

### dev本地数据库

	http://172.30.21.24/downloads/

用自己的vpn账号和密码登陆，下载sql文件，在本地创建数据库.

### mac

    cpan App::Sqitch DBD::mysql

    # update your .zshrc or .bashrc
    export PATH=$PATH:~/perl5/bin/:
    export PERL5LIB=~/perl5/lib/perl5

### 创建本地`sqitch conf`

    mkdir ~/.sqitch/
    touch ~/.sqitch/sqitch.conf

`sqitch.conf`的内容如下：

    [user]
        name = Pengfei.X
        email = pengphy@gmail.com
    [engine "mysql"]
        client = /usr/local/bin/mysql
	    registry = zhengxing_dev
    [target "zhengxing_dev"]
        uri = db:mysql://work:workwork@127.0.0.1/zhengxing_dev

修改上述`sqitch.conf`中的`name`, `email`, 改成自己的姓名和邮箱。
`target`小节中可以增加数据库的配置，`uri`为被管理的数据库的连接方式。


## 使用

### 添加新的数据库变更文件

	cd ~/path/to/gaia/sqls
    sqitch add create_table_xxx -m 'create a table xxx'

执行完这个操作后，会在`sqitch.plan`中增加行，用来描述这个更改，之后`deploy`时，会根据这个plan来执行数据库变更计划。
同时在目录`deploy`, `revert`和`verfiy`目录中增加文件`create_table_xxx.sql`。

* 注意，不要自己直接在`deploy`, `revert`和`verfiy`中添加`sql`文件。 *


## 参考
- [http://sqitch.org/](http://sqitch.org/)
- [sqitchtutorial-mysql](https://metacpan.org/pod/sqitchtutorial-mysql)
- [agile_db_dev](https://speakerd.s3.amazonaws.com/presentations/ad105ed0ac490130d6a626f5cde8fd08/271_agile_db_dev.pdf)
