#postgresql #seeding #fake-data #libellis

bin+lib birdseed

birdseed 允许您用假数据初始化 libellis 数据库,清除所有表,或根据当前嵌入的迁移重建所有表

15 个版本

0.2.0 2019 年 3 月 5 日
0.1.98 2019 年 2 月 27 日
0.1.4 2019 年 1 月 23 日

#994数据库接口

每月 46 次下载

MIT 许可证

65KB
1.5K SLoC

🐦 birdseed 🐦

Build Status MIT licensed Released API docs

这个crate的整个目的就是用假数据(由 faker 库生成)初始化 libellis 数据库。

设置

您必须设置一个 PSQL_URL 环境变量到您的 libellis postgres 数据库。

示例

$ export PSQL_URL=postgres://username:password@localhost/

注意上面示例中的末尾反斜杠是 必需的。如果您是从本地文件夹运行项目,则可以可选地在此项目的根目录中的 .env 文件中设置它。

安装

您可以通过两种方式之一安装此应用。如果您已安装 cargo,则非常简单。如果没有,您可以按照以下非常简单的 cargo setup 流程安装 rust 和 cargo。安装 cargo 后,您可以通过运行以下命令安装此终端应用:

$ cargo install birdseed

可选地,您也可以克隆此仓库,并在根目录中构建此crate的发布版本

$ git clone https://github.com/libellis/birdseed.git
$ cd birdseed
$ cargo build --release

功能

设置

您可以使用此子命令设置主 libellis 和 libellis_test 数据库。它将尝试在创建之前删除 libellis 和 libellis_test,所以请小心!仅在您不需要 libellis 数据库中的数据并且想从头开始,或者第一次创建 libellis 数据库时使用。

$ birdseed setup

重建

您可以根据嵌入的 diesel 迁移重建所有表。这将删除每个表(但不会删除数据库本身),然后重建所有表。注意,您必须已经具有 libellislibellis_test 数据库才能正常工作。如果没有这些数据库,请运行 birdseed setup

$ birdseed rebuild

重建 默认会重建主数据库和测试数据库中的所有表。如果您只想重建一个数据库,请使用 -database 参数标志传入 'main' 或 'test'。

$ birdseed rebuild -database main

您也可以使用 - 作为缩写

$ birdseed rebuild -d test

栅栏

您可以使用栅栏子命令从 geojson 文件中加载栅栏数据

$ birdseed fences

默认情况下,它会从crate的根目录下的数据文件夹中查找一个名为fences.json的文件。这个文件夹仅在你克隆了repo时存在。要指定自己的文件路径,请在fences子命令后传递-f或-file标志。

$ birdseed fences -f BerkeleyNeighborhoods.json

注意:只有当你有fences表时,这才能正常工作——这个表应该是在运行birdseed setupbirdseed migrate时为你设置的。

feed

你可以使用feed子命令来初始化所有数据库。

$ birdseed feed

我们可以指定行数(覆盖默认的1000行)

$ birdseed feed -r 10000

在这个例子中,我们覆盖了默认的1,000行,并初始化了10,000行。

注意:行数实际上意味着我们将初始化行数数量的用户、调查和问题,但是行数乘以4数量的选项和投票。

migrate

要运行迁移,请使用migrate子命令(这将更新你的数据库模式到最新的模式)。

$ birdseed migrate

默认情况下,这将在所有数据库上运行迁移。要仅对主数据库运行迁移

$ birdseed migrate -d main

要仅在测试数据库上运行迁移

$ birdseed migrate -d test

clear

你可以使用clear子命令清除所有表

$ birdseed clear

icecream

为了乐趣和利益,你可以使用行数数量的用户、一个关于冰淇淋的单个调查,然后使用你新创建的用户池中的虚假投票来填充这个调查,并让所有投票从旧金山城内的合法随机位置计算。

$ birdseed icecream

默认行数是1000,可以通过与使用feed子命令相同的方式覆盖。

$ birdseed icecream -r 10000

依赖关系

~17–27MB
~430K SLoC