Skip to main content

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 the dbo (PEPJ) schema
  • Reference data seeding (--seed-files): inserts rows into dbo.* and Forms.* tables from JSON files; all operations are idempotent
  • System configuration: writes OpenID Connect settings, role-to-access-right mappings, and department ID mappings

Documentation

DocumentDescription
User GuideCommand-line options, configuration files, interactive mode
ContainerDocker environment variables, argument flags, data file injection
Adding Seed HandlersDeveloper guide: implementing and registering a new ISeedingHandler
Seeding Form ConfigurationsFormConfigurations, FormConfigurationSections, FormBranchingConditions
Seeding dbo ChecklistsDboChecklists, DboChecklistResources
Seeding Urgency LevelsUrgencyLevels
Auth ConfigurationAuthentication 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.