1 个不稳定版本
0.1.0 | 2020 年 5 月 21 日 |
---|
#7 in #迁移
20KB
442 行
seagull
入门指南
基本工作流程如下
seagull init
# seagull.toml
命令
seagull init
创建一个用于存储连接字符串和其他配置值的 seagull.toml
文件。此文件为可选,您可以在不使用它的情况下使用其他命令。
seagull poop
首先创建一个名为 migrations
的目录(如果尚不存在)。其次,在目录中创建一个空白的 .sql
文件,格式为 V{1}__{2}.sql
,其中 {1}
是自动递增的版本号,而 {2}
是描述。
USAGE
# creates ./migrations/V1__initial.sql
$ seagull poop initial
# creates ./migrations/V1_create_users_table.sql
$ seagull poop "create users table"
# creates ./migrations/V2_another_migration.sql assuming V1 exists
$ seagull poop another_migration
seagull migrate
首先创建一个名为 __migration_history
的数据库表(如果尚不存在)。在单个事务中运行 migrations
目录中的所有迁移。如果其中一个失败,它们都会失败,并且数据库将回滚。
USAGE
# reads config from seagull.toml
$ seagull migrate
# specify your PostgreSQL connection string
$ seagull migrate --database postgresql://postgres:mysecretpassword@localhost/postgres
# looks for migrations in src/migrations
$ seagull migrate --dir src/migrations
seagull remigrate
与 seagull migrate
相同,但它将在运行所有迁移之前首先重置整个数据库。如果您使用 Docker 数据库并且经常更改迁移,则很有用。**不建议在生产环境中运行!** ☠️
# reads config from seagull.toml
$ seagull remigrate
# specify your PostgreSQL connection string
$ seagull remigrate --database postgresql://postgres:mysecretpassword@localhost/postgres
# looks for migrations in src/migrations
$ seagull remigrate --dir src/migrations
依赖项
~11–20MB
~269K SLoC