goose 数据迁移介绍和使用
如果你想使用最新版本的Goose来指定只执行新创建的迁移文件而不执行其他文件,可以按照以下步骤进行操作:
确保已经安装了最新版本的Goose。如果没有,请运行以下命令进行安装:
go get -u github.com/pressly/goose/cmd/goose
创建一个新的目录用于存放迁移文件:
mkdir migrations
在
migrations
目录中创建一个新的迁移文件。你可以使用以下命令创建一个示例迁移文件:goose create create_users_table sql
这将在
migrations
目录中创建一个名为YYYYMMDDHHMMSS_create_users_table.sql
的迁移文件。打开迁移文件,并定义用于创建
users
表的SQL语句:-- +goose Up CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(255), email VARCHAR(255) ); -- +goose Down DROP TABLE users;
-- +goose Up
部分包含在迁移向上迁移时要执行的SQL语句,-- +goose Down
部分包含在向下迁移时要执行的SQL语句。使用以下命令指定只执行新创建的迁移文件进行迁移:
// 创建表 goose -dir migrations mysql "user:password@tcp(localhost:3306)/mydb?parseTime=true" up YYYYMMDDHHMMSS_create_users_table.sql // 删除表 回滚 goose -dir migrations mysql "user:password@tcp(localhost:3306)/mydb?parseTime=true" down YYYYMMDDHHMMSS_create_users_table.sql
这将只应用指定的迁移文件,并在指定的MySQL数据库中创建
users
表。
请确保在goose
命令中更新连接字符串,将其替换为你的MySQL数据库凭据和连接详细信息,并指定要执行的迁移文件的名称。
本作品采用《CC 协议》,转载必须注明作者和本文链接
:smile: 我有个库也是用的goose名字