1 个不稳定版本
0.2.2 | 2023年10月15日 |
---|
#2792 在 数据库接口
11KB
82 行
探险者
管理数据库迁移和种子。探险者是一个非常具体的工具,用于迁移和初始化数据库。它以非常简单的方式完成这些任务,我很难想象我将来会让它做更多的事情。我在我的工作流程中使用它,并且它对我非常有用。
使用方法
安装
cargo安装探险者
连接
探险者使用 DATABASE_URL
变量连接到您的 Postgres 数据库。
迁移
探险者期望您将迁移保存在特定的目录中。
编写迁移涉及创建一个文件,例如 db/migrations/001-add-reddit-subreddits.sql
,其中包含迁移 SQL
create table if not exists subreddits (
id serial primary key,
subreddit varchar not null unique
);
我使用三位数的填充前缀来控制执行顺序,但您也可以使用时间戳或日期。
要运行所有迁移,请使用 migrate 命令
trekker migrate db/migrations
种子
探险者期望您将种子保存在特定的目录中。
编写种子涉及创建一个文件,例如 db/seeds/001-add-some-subreddits.sql
,其中包含种子 SQL
insert into subreddits (subreddit) values
('mechmarket'),
('hardwareswap')
;
我使用三位数的填充前缀来控制执行顺序,但您也可以使用时间戳或日期。
要运行所有种子,请使用 seed 命令
trekker seed db/seeds
依赖项
~10–21MB
~302K SLoC