Log Datasette events to a database table
Install this plugin in the same environment as Datasette.
datasette install datasette-events-db
This plugin depends on Datasette 1.0a8 or higher.
Once installed, all Datasette events will be logged to a table called datasette_events
. This table will be created in the _internal
database, but can be moved to another database using the following plugin configuration option:
plugins:
datasette-events-db:
database: my_database
The table will be created when Datasette starts up, if it does not already exist.
create table if not exists datasette_events (
id integer primary key,
event text,
created text,
actor_id text,
database_name text,
table_name text,
properties text -- JSON other properties
)
event
is the text name of the event, for examplecreate-table
created
is an ISO formatted UTC timestampactor_id
will be populated with the ID of the responsible actor, ornull
if not availabledatabase_name
will be thedatabase
property recorded by the event, if presenttable_name
will be thetable
property recorded by the event, if presentproperties
will be a JSON object containing any other properties recorded by the event
To set up this plugin locally, first checkout the code. Then create a new virtual environment:
cd datasette-events-db
python3 -m venv venv
source venv/bin/activate
Now install the dependencies and test dependencies:
pip install -e '.[test]'
To run the tests:
pytest