Notes for developers
Basic setup for testing
The following depends upon a program, entr,
to be installed.
First, create an environment:
make env
Then run the tests:
make test
The above command, after running the tests will watch for any
modifications to the files, and automatically rerun the tests, making
it convient to run in one window, while editing in another.
Managing the db format
Alembic is used to manage upgrades. The following process should be
followed when updating the ORM:
- Uncomment the orm.Base.metadata.create_all call, and comment out the
_handle_migration call a bit later, and disable the
test_ tests.
- Implement tests for new feature, and make changes to the ORM as needed.
- Run the
autogen.sh
script from medashare
to generate the base
migration. Modify as needed.
- Add a test for the migration to _TestMigrations. This should test
by creating an ObjectStore at the previous stage, add representative
objects that will test the migration, and then run a migration, and
make sure features still work as expected afterward.
- Revert changes made in step 1