Gå til innhold

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.