确保特定表和视图在启动时存在
在与 Datasette 相同的环境中安装此插件。
$ pip install datasette-init
此插件通过 metadata.json
(或 metadata.yaml
)进行配置。
添加类似这样的块,指定您希望确保存在的表
{
"plugins": {
"datasette-init": {
"my_database": {
"tables": {
"dogs": {
"columns": {
"id": "integer",
"name": "text",
"age": "integer",
"weight": "float"
},
"pk": "id"
}
}
}
}
}
}
任何尚不存在的表将在 Datasette 初次启动时创建。
有效的列类型包括 "integer"
、"text"
、"float"
和 "blob"
。
"pk"
是可选的,用于定义主键。要定义复合主键(跨多个列),请在此处使用列名列表
"pk": ["id1", "id2"]
此插件也可用于创建视图
{
"plugins": {
"datasette-init": {
"my_database": {
"views": {
"my_view": "select 1 + 1"
}
}
}
}
}
"views"
块中的每个视图将在数据库初次启动时创建。如果已存在同名视图,则会替换为新的定义。
要在本地设置此插件,请先检出代码。然后创建新的虚拟环境
cd datasette-init
python3 -mvenv venv
source venv/bin/activate
如果您使用 pipenv
pipenv shell
现在安装依赖项和测试
pip install -e '.[test]'
运行测试
pytest