Log Datasette events to a database table
Install this plugin in the same environment as Datasette.
datasette install datasette-events-dbThis 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_databaseThe 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
)eventis the text name of the event, for examplecreate-tablecreatedis an ISO formatted UTC timestampactor_idwill be populated with the ID of the responsible actor, ornullif not availabledatabase_namewill be thedatabaseproperty recorded by the event, if presenttable_namewill be thetableproperty recorded by the event, if presentpropertieswill 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/activateNow install the dependencies and test dependencies:
pip install -e '.[test]'To run the tests:
pytest