Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Версиониране на база данни на SQL Server

Мартин Фаулър написа любимата ми статия по темата, http://martinfowler.com/articles/evodb.html. Избирам да не поставям дъмпове на схеми под контрол на версиите като alumb и други предлагат, защото искам лесен начин да надстроя моята производствена база данни.

За уеб приложение, в което ще имам един екземпляр на производствена база данни, използвам две техники:

Скриптове за надграждане на база данни

Скриптове за надграждане на база данни с последователност, които съдържат DDL, необходими за преместване на схемата от версия N към N+1. (Те влизат във вашата система за контрол на версиите.) Таблица _version_history_, нещо като

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

получава нов запис всеки път, когато се изпълнява скрипт за надстройка, който съответства на новата версия.

Това гарантира, че е лесно да се види каква версия на схемата на базата данни съществува и че скриптовете за надграждане на базата данни се изпълняват само веднъж. Отново, това сане дъмпове на база данни. По-скоро всеки скрипт представлява промените е необходимо да преминете от една версия към друга. Те са скриптът, който прилагате към вашата производствена база данни, за да я „надстроите“.

Синхронизиране на пясъчна среда за програмисти

  1. Скрипт за архивиране, дезинфекция и свиване на производствена база данни. Изпълнявайте това след всяка надстройка до производствената БД.
  2. Скрипт за възстановяване (и настройване, ако е необходимо) на архива на работната станция на разработчика. Всеки разработчик изпълнява този скрипт след всяко надграждане до производствената БД.

Предупреждение:Моите автоматизирани тестове се изпълняват срещу правилна схема, но празна база данни, така че този съвет няма да отговаря напълно на вашите нужди.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Има ли начин за достъп до стойността на предишния ред в оператор SELECT?

  2. Как да наблюдавате промените в таблицата на SQL Server с помощта на C#?

  3. SQL:търсене на низ във всяка колона с varchar в база данни

  4. Какво е SQL Server? (Определение, версии, издания)

  5. В Sql Server как да завъртите за няколко колони