Notes for developers ==================== Basic setup for testing ----------------------- The following depends upon a program, [entr](https://eradman.com/entrproject/), 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: 1. Uncomment the orm.Base.metadata.create_all call, and comment out the _handle_migration call a bit later, and disable the test_ tests. 2. Implement tests for new feature, and make changes to the ORM as needed. 3. Run the `autogen.sh` script from `medashare` to generate the base migration. Modify as needed. 4. 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. 5. Revert changes made in step 1