| @@ -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. | |||||