Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Wersjonowanie bazy danych SQL Server

Martin Fowler napisał mój ulubiony artykuł na ten temat, http://martinfowler.com/articles/evodb.html. Postanawiam nie umieszczać zrzutów schematów pod kontrolą wersji jako alumb a inni sugerują, ponieważ chcę w łatwy sposób zaktualizować moją produkcyjną bazę danych.

W przypadku aplikacji internetowej, w której będę miał pojedynczą produkcyjną instancję bazy danych, używam dwóch technik:

Skrypty aktualizacji bazy danych

Sekwencja skryptów aktualizacji bazy danych, które zawierają kod DDL niezbędny do przeniesienia schematu z wersji N do N+1. (Te znajdują się w twoim systemie kontroli wersji.) Tabela _version_history_, coś w rodzaju

create table VersionHistory (
    Version int primary key,
    UpgradeStart datetime not null,
    UpgradeEnd datetime
    );

otrzymuje nowy wpis za każdym razem, gdy uruchamiany jest skrypt aktualizacji, który odpowiada nowej wersji.

Dzięki temu łatwo jest sprawdzić, jaka wersja schematu bazy danych istnieje, a skrypty uaktualniania bazy danych są uruchamiane tylko raz. Ponownie, to nie zrzuty bazy danych. Każdy skrypt reprezentuje raczej zmiany konieczne, aby przejść z jednej wersji do następnej. Są to skrypty, które stosujesz do swojej produkcyjnej bazy danych, aby ją „uaktualnić”.

Synchronizacja piaskownicy programistów

  1. Skrypt do tworzenia kopii zapasowych, oczyszczania i zmniejszania produkcyjnej bazy danych. Uruchom to po każdej aktualizacji do produkcyjnej bazy danych.
  2. Skrypt do przywracania (i w razie potrzeby dostrajania) kopii zapasowej na stacji roboczej programisty. Każdy programista uruchamia ten skrypt po każdej aktualizacji do produkcyjnej bazy danych.

Zastrzeżenie:moje testy automatyczne działają na bazie danych zgodnej ze schematem, ale pustej, więc ta rada nie będzie idealnie odpowiadać Twoim potrzebom.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Usuń liczby z serwera sql string

  2. SQL Server CTE i przykład rekurencji

  3. 4 sposoby na wyświetlenie listy wszystkich widoków w bazie danych SQL Server

  4. Jak znaleźć sortowanie bazy danych obsługiwane przez instancję SQL Server?

  5. Migawki bazy danych programu SQL Server -4