|
|
@@ -0,0 +1,36 @@ |
|
|
|
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. Implement tests for new feature, and make changes to the ORM as needed. |
|
|
|
2. Run the `autogen.sh` script to generate the base migration. Modify as |
|
|
|
needed. |
|
|
|
3. 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. |