sql >> Databasteknik >  >> RDS >> Sqlserver

Hantera databasändringar mellan versionsgrenar/återställningar i ASP.NET

Ett bra sätt att hålla reda på schemaändringar över flera grenar av ett utvecklingsprojekt skulle vara att följa en databasrefaktorering bearbeta. Bland andra fördelar inkluderar denna typ av process användningen av delta- och migreringsskript för att tillämpa schemaändringar i varje miljö (eller gren i ditt fall). Inställningen kan se ut ungefär så här:

main
  src <-- ASP.NET project source
  db <-- Database create scripts
  delta <-- Database change scripts (SQL delta files)

branch
  src
  db <-- usually has the same contents as the copy in main branch
  delta <-- only the changes necessary for this branch

Varje gång du behöver ändra databasschemat för en viss gren skapar du ett SQL delta-skript som används för att tillämpa ändringen. För att göra det enklare skulle jag föreslå att du namnger varje skriptfil för att inkludera skapa datum och tid för att hålla dem i ordning. Exempel skulle vara:

201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql

Lägg till deltafilerna till källkontrollen i grenen där schemaändringen måste göras. Du bör sluta med att varje gren innehåller exakt vad som krävs för att ändra motsvarande databas. Vissa detaljer kan behöva justeras för din situation beroende på saker som ditt förgreningsschema och om din databas bevaras eller inte under din releaseprocess (i motsats till att återskapas).

Slutligen, för att försöka göra dessa koncept enkla, skulle jag rekommendera ett verktyg som hjälper dig att hantera processen. Mitt förslag är att ta en titt på DBDeploy / DBDeploy.NET . Jag har med glädje använt det i flera år på alla mina projekt.



  1. Hur mappar man en Native Query till en POJO när jag inte har någon Entity på mitt projekt?

  2. Oracle:Undviker NULL-värde i to_date

  3. Hur använder man Hibernate Session.doWork(...) för savepoints/kapslade transaktioner?

  4. Hur man installerar Microsoft SQL på Linux