15 个版本
0.2.0 | 2019 年 3 月 5 日 |
---|---|
0.1.98 | 2019 年 2 月 27 日 |
0.1.4 | 2019 年 1 月 23 日 |
#994 在 数据库接口
每月 46 次下载
65KB
1.5K SLoC
🐦 birdseed 🐦
这个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 迁移重建所有表。这将删除每个表(但不会删除数据库本身),然后重建所有表。注意,您必须已经具有 libellis
和 libellis_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 setup
或birdseed 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