#postgresql #database-migrations #migration #command-line-tool #seed #manner #manage

app trekker

一个命令行工具,帮助您管理 PostgreSQL 数据库迁移和种子

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