Migration and Seeding Tool
The Migration and Seeding Tool is a .NET console application that manages the EWA MSSQL database. It runs EF6 schema migrations, seeds reference data, and applies system configuration (OpenID Connect, role mappings, department IDs).
The tool is delivered as a Docker container (bliksund/ewa-linux-migration, bliksund/ewa-windows-migration) and is typically run as a one-shot job during deployment. It exits with code 0 on success so orchestrators can treat it as a run-to-completion task.
Key responsibilities
- Schema migrations (
-ms): applies EF6 migrations to thedbo(PEPJ) schema - Reference data seeding (
--seed-files): inserts rows intodbo.*andForms.*tables from JSON files; all operations are idempotent - System configuration: writes OpenID Connect settings, role-to-access-right mappings, and department ID mappings
Documentation
| Document | Description |
|---|---|
| User Guide | Command-line options, configuration files, interactive mode |
| Container | Docker environment variables, argument flags, data file injection |
| Adding Seed Handlers | Developer guide: implementing and registering a new ISeedingHandler |
| Seeding Form Configurations | FormConfigurations, FormConfigurationSections, FormBranchingConditions |
| Seeding dbo Checklists | DboChecklists, DboChecklistResources |
| Seeding Urgency Levels | UrgencyLevels |
| Auth Configuration | Authentication and authorization configuration |
Quick start (container)
environment:
ARGUMENTS: "-ms --openid --role-access-mapping --seed-files DboChecklists.json"
ConnectionStrings__PEPJDatabaseConnection: "Server=...;Database=...;..."
OpenIdConnectConfiguration: "base64:<base64-encoded-json>"
See Container.md for the full environment variable reference.