Configuration data ¶
Data migration file
Django docs
Introduction ¶
Django data migrations are used to load the database with instances of the app’s model classes, defined in benefits/core/models.py
.
Migrations are run as the application starts up. See the bin/init.sh
script.
The sample values provided in the repository are sufficient to run the app locally and interact with e.g. the sample Transit Agencies.
During the deployment process, environment-specific values are set in environment variables and are read by the data migration file to build that environment’s configuration database. See the data migration file for the environment variable names.
Sample data ¶
The sample data included in the repository is enough to bootstrap the application with basic functionality:
- Multiple transit agency configurations
- Multiple eligibility verification pathways
- With and without authentication required before eligibility verification
- In concert with the sample eligibility server, verification with test user data
Not included ¶
Some configuration data is not available with the samples in the repository:
- OAuth configuration to enable authentication (read more about OAuth configuration)
- reCAPTCHA configuration for user-submitted forms
- Payment processor configuration for the enrollment phase
- Amplitude configuration for capturing analytics events
Sample transit agency: ABC
¶
- Presents the user a choice between two different eligibility pathways
- One eligibility verifier requires authentication
- One eligibility verifier does not require authentication
Sample transit agency: DefTL
¶
- Single eligibility pathway, no choice presented to the user
- Eligibility verifier does not require authentication
Building the configuration database ¶
When the data migration changes, the configuration database needs to be rebuilt.
The file is called django.db
and the following commands will rebuild it.
Run these commands from within the repository root, inside the devcontainer:
bin/init.sh