Существует ли система контроля версий для изменений структуры базы данных?
Я немного старомоден, так sql как использую исходные файлы vcs для создания базы данных. На vcs самом деле есть 2 файла - project-database.sql revision-control и project-updates.sql - первый database для схемы и постоянных данных, а sql второй для модификаций. Конечно, оба database-structure находятся под контролем источника.
При sql-select изменении базы данных я сначала version-control обновляю основную схему в database-structure файле project-database.sql, а sql-syntax затем копирую соответствующую revision-control информацию в файл project-updates.sql, например database операторы ALTER TABLE. Затем database я могу применить обновления source-control к базе данных разработки, протестировать, повторять, пока version-control все не будет хорошо. Затем sqlselect верните файлы, снова протестируйте database и примените к рабочей среде.
Так vcs же у меня обычно есть таблица sql-select в бд - Config - типа:
SQL
CREATE TABLE Config
(
cfg_tag VARCHAR(50),
cfg_value VARCHAR(100)
);
INSERT INTO Config(cfg_tag, cfg_value) VALUES
( 'db_version', '$Revision: $'),
( 'db_revision', '$Revision: $');
Затем oracle я добавляю в раздел обновления oracle следующее:
UPDATE Config SET cfg_value='$Revision: $' WHERE cfg_tag='db_revision';
db_version
изменяется только sql-select при воссоздании базы данных, а database-structure db_revision
дает мне указание на то, насколько database-structure db отличается от базовой database линии.
Я мог бы хранить обновления dbms в отдельных файлах, но я vcs решил смешать их все вместе source-control и использовать вырезание sql и вставку для извлечения database-structure соответствующих разделов. В oracle порядке еще немного уборки, т.е. удалите sqlselect ':' из $Revision 1.1$, чтобы oracle заморозить их.
sql
database
oracle
version-control
Существует ли система контроля версий для изменений структуры базы данных?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.