Ensure specific tables and views exist on startup
Project description
datasette-init
Ensure specific tables and views exist on startup
Installation
Install this plugin in the same environment as Datasette.
$ pip install datasette-init
Usage
This plugin is configured using metadata.json
(or metadata.yaml
).
Creating tables
Add a block like this that specifies the tables you would like to ensure exist:
{
"plugins": {
"datasette-init": {
"my_database": {
"tables": {
"dogs": {
"columns": {
"id": "integer",
"name": "text",
"age": "integer",
"weight": "float"
},
"pk": "id"
}
}
}
}
}
}
Any tables that do not yet exist will be created when Datasette first starts.
Valid column types are "integer"
, "text"
, "float"
and "blob"
.
The "pk"
is optional, and is used to define the primary key. To define a compound primary key (across more than one column) use a list of column names here:
"pk": ["id1", "id2"]
Creating views
The plugin can also be used to create views:
{
"plugins": {
"datasette-init": {
"my_database": {
"views": {
"my_view": "select 1 + 1"
}
}
}
}
}
Each view in the "views"
block will be created when the Database first starts. If a view with the same name already exists it will be replaced with the new definition.
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-init
python3 -mvenv venv
source venv/bin/activate
Or if you are using pipenv
:
pipenv shell
Now install the dependencies and tests:
pip install -e '.[test]'
To run the tests:
pytest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for datasette_init-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 230b5570f247d5483a93cacf1f220a7b45d336a564dc6e6e60afc3a5957040b7 |
|
MD5 | 93780c4db8fd5b8cee72098d24062768 |
|
BLAKE2b-256 | 4f764b3651e82457182ec21bd55ea18bdca9fa3b85d3c3b1e0075df14100e3ff |