Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bruker Flyway.
I nyaste Exposed-patchversjon (0.58.0) er metoden vi brukte for å halde databasen oppdatert (
SchemaUtils.createMissingTablesAndColumns
) deprecated, med kommentarenMigrationUtils.statementsRequiredForDatabaseMigration
returnerte lokalt kunCREATE SEQUENCE
- ogDROP SEQUENCE
-kall. Det fins også ein metodeMigrationUtils.generateMigrationScript
som kan generere opp alt til filer, som returnerte fleire rader, men dette kjens knotete å jobbe med. I tillegg, og viktigare, er at å basere seg på Exposed si auto-oppdaging av endringar kjens sårbart og ustabilt, når den referte metoden ikkje funkar heilt, så vi må basere oss på workarounds, og ikkje noko eg er komfortabel med å basere oss på.Dermed trur eg det er betre å bruke Flyway utan om og men. Det er velprøvd, etablert og stabilt. Som ein konsekvens gjer endringar i databasestrukturen at vi treng Flyway-migreringsskript, men her har vi ein ganske liten database med høgst sannsynleg små skript.
Endringar i data, viss det skulle bli behov for det, kan gjerast med akkurat tilsvarande Flyway-skript.
Har tatt ut DDL frå databasen i dev-gcp, og samanlikna med den som er i baseline-skriptet no, og det blir identisk. I praksis vil ingen av linjene i skriptet slå til under køyring, fordi det er tabellar som allereie fins, og
if not exists
på alt. Men dette vil gjera at testane startar med samme database-grunnlag som prodkoden, utan noko om og men.