Управление версиями базы данных SVN для среды нескольких разработчиков - PullRequest
7 голосов
/ 16 июня 2011

Я хотел бы знать, существует ли сценарий управления версиями базы данных с SVN, который не будет гарантировать конфликтов, когда немногие разработчики пытаются зафиксировать изменения одновременно.

Я и моя команда использовали сценарии изменений с увеличением номера версии схемы (аналогично этому решению: http://odetocode.com/blogs/scott/archive/2008/02/02/versioning-databases-change-scripts.aspx).

Это довольно хорошее решение, но его главный недостаток в том, что конфликты могут возникать, когда несколько разработчиков пытаются зафиксировать скрипт изменения с одним и тем же номером схемы - это не только простой конфликт SVN, но и требует, чтобы пользователи с этим конфликтомвручную изменить таблицу базы данных с версиями схемы, отменить их изменения в БД, изменить номера файлов сценариев, чтобы получить все обновления БД.Можно ли избежать этого препятствия?Я имею в виду не только технические решения, но, может быть, есть лучший способ организовать эту задачу?Есть идеи?

Ответы [ 2 ]

4 голосов
/ 17 июня 2011
2 голосов
/ 16 июня 2011

Rails решил эту проблему, используя временную метку вместо возрастающего номера версии.Вероятность того, что два пользователя создадут новые версии схемы в одну и ту же секунду, довольно мала.

...