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.6a2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cfa66850d681ba6d49679d40e19cc1c7e974ad5ee03537256191d18806c71fb5 |
|
MD5 | 4ff69d0cbe82aa26545235c7c7a63b1f |
|
BLAKE2b-256 | f2be1966fe642bd84d5b1f4ca2f7495463228ea4d89324921ff6f83cb94854d6 |
Hashes for datasette_edit_schema-0.6a2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8b5bec2bb9d832a4258a4f1173f375972452ebf0f65cff117faea9c0399859a |
|
MD5 | f7a7f0b41cb78e8801565693d2f0e50c |
|
BLAKE2b-256 | 9272b3f33f58f6cd11bebe92812d13d162e900776874a93c0ea06ef636dd68fe |