Datasette plugin for modifying table schemas
Project description
datasette-edit-schema
Datasette plugin for modifying table schemas
Features
- Add new columns to a table
- Rename columns in a table
- Modify the type of columns in a table
- Re-order the columns in a table
- Rename a table
- Delete a table
- Change the primary key of a table to another column containing unique values
- Update the foreign key constraints on a table
Installation
Install this plugin in the same environment as Datasette.
pip install datasette-edit-schema
Usage
Navigate to /-/edit-schema/dbname/tablename
on your Datasette instance to edit a specific table.
Use /-/edit-schema/dbname
to create a new table in a specific database.
By default only the root actor can access the page - so you'll need to run Datasette with the --root
option and click on the link shown in the terminal to sign in and access the page.
Permissions
The edit-schema
permission governs access. You can use permission plugins such as datasette-permissions-sql to grant additional access to the write interface.
These permission checks will call the permission_allowed()
plugin hook with three arguments:
action
will be the string"edit-schema"
actor
will be the currently authenticated actor - usually a dictionaryresource
will be the string name of the database
Screenshot
Development
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-edit-schema
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-edit-schema-0.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 241c2ed59b07988336ea32b180ca3dae06193154fae3e419475e200f64558eac |
|
MD5 | 1d915673f3a31fe0ea2acf13170bdf45 |
|
BLAKE2b-256 | 03488362433b8213494988261946536df7f0e7d8aec1ecc359a0fdd508f5f13c |
Hashes for datasette_edit_schema-0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0a39b1971c8929dcae8714d84053889730e3c7e95f23060fc7a7860d9e625c6 |
|
MD5 | ed6d791f32e4c3f5888e0403160714f8 |
|
BLAKE2b-256 | 7f9617c81a6bec2d050b54fba0e97375e587de0f0e58afe9684df6142b37e61f |