FluentMigrator databasemigrering
For å holde styr på versjoneringen av databasene er Fluent Migrator valgt som verktøy for å holde databasene konsistente ihht versjonsnummer.
Løsningen består av en dll pr database hvor alle definisjoner av databasene ligger. En classe pr migrering. Hver av classene har to metoder "up" og "down". Disse metodene inneholder koden for å migrere opp eller ned til det versjonsnummeret som classen angir.
For innstallasjonen av databasene og oppdateringer som følge av oppgradering av VigoBAS vil innstallasjonsscriptet ta seg av dette ved å fluentMigrator for deg.
For å kjøre dette manuelt inneholder løsningen sql filer for å opprette selve databasene samt FluentMigrator komponenten (migrate.exe) som kjører selve migreringene. For å forenkle migreringen er det laget to cmd-filer som henholdsvis migrerer til siste versjon og som reverserer til forrige versjon.
Løsningen inneholder følgende filer:
Filnavn | Beskrivelse |
---|---|
VigoBAS.FLMigrate.VigoBASConfig.dll | Migreringer for VigoBAS-Config db |
VigoBAS.FLMigrate.VigoBASMetaData.dll | Migreringer for VigoBAS-Metadata db |
VigoBAS.FLMigrate.VigoBASUtil.dll | Migreringer for VigoBAS-Util db |
metadata1100.sql | sqlfil for migrering av VigoBAS-Metdata opp til ver 1.1. Inneholder view definisjonene. |
FluentMigrator.dll | FluentMigrator komponent |
Migrate.exe | Kjører selve migreringene |
migrateDown.cmd | script for å migrere ned til nest siste versjon |
migrateUp.cmd | script for å migrere til siste versjon |
VigoBAS-ConfigCreateDB.sql | Sqlscript for å opprette VigoBAS-config db |
VigoBAS-MetadataCreateDB.sql | Sqlscript for å opprette VigoBAS-Metadata db |
VigoBAS-UtilCreateDB.sql | Sqlscript for å opprette VigoBAS-Util db |
Når innstallasjonscriptet (eller om man kjører det manuelt) kjører migreringen for første gang vil FluentMigrator opprette en tabell i hver av databasene: versionInfo Denne tabellen viser hvilken versjon FluentMigrator har migrert databasen til.
FluentMigrator kan kun ha heltall som versjonsnummer slik at 1300 viser til versjon 1.3. 1301 vil da vise til oppdatering 1 til 1.3 versjonen.