用于生成演示 SQLite 数据库的工具
使用 pip
安装此插件
$ pip install sqlite-generate
您可以在 Datasette 中查看使用此命令生成的数据库演示,访问地址为 https://sqlite-generate-demo.datasette.io/
该演示使用以下命令生成
sqlite-generate demo.db --seed seed --fts --columns=10 --fks=0,3 --pks=0,2
要生成一个名为 data.db
的 SQLite 数据库文件,其中包含 10 个随机命名的表,请运行以下命令
sqlite-generate data.db
您可以使用 --tables
选项生成不同数量的表
sqlite-generate data.db --tables 20
您可以多次对同一个数据库文件运行此命令,以继续添加新表,每次生成一批表时可以使用不同的设置。
默认情况下,每个表将包含 0 到 200 之间的随机行数。您可以使用 --rows
选项进行自定义
sqlite-generate data.db --rows 20
这将为每个表插入 20 行。
sqlite-generate data.db --rows 500,2000
这将为每个表插入 500 到 2000 之间的随机行数。
每个表将有 5 列。您可以使用 --columns
更改此设置
sqlite-generate data.db --columns 10
--columns
也可以接受一个范围
sqlite-generate data.db --columns 5,15
您可以使用 --seed
选项控制使用的随机数种子。这将确保多次运行此工具时创建完全相同的数据库文件
sqlite-generate data.db --seed=myseed
默认情况下,每个表将包含 0 到 2 个指向其他表的外键列。您可以使用 --fks
选项(可以是单个数字或范围)来控制此设置
sqlite-generate data.db --columns=20 --fks=5,15
每个表将有一个名为 id
的主键列。您可以使用 --pks=
选项更改每个表上的主键列数量。将其设置为 0 以生成 rowid 表。将其增加到 1 以上以生成复合主键的表。或者使用范围来获取不同主键布局的随机选择
sqlite-generate data.db --pks=0,2
要为所有文本类型的列配置 SQLite 全文搜索,请使用 --fts
sqlite-generate data.db --fts
默认情况下这将使用 FTS5。要改用 FTS4,请使用 --fts4
。
要为此工具做贡献,首先克隆代码。然后创建一个新的虚拟环境
cd sqlite-generate
python -mvenv venv
source venv/bin/activate
或者如果您正在使用 pipenv
pipenv shell
现在安装依赖项和测试
pip install -e '.[test]'
要运行测试
pytest