На работе мы используем Oracle и C # / ASP.net для обработки веб-сайта клиента, этот сайт очень большой, поэтому база данных очень большой.
Мы используем Perforce для управления версиями и добавляем сценарии создания или замены к случаям FogBugz всякий раз, когда изменяется база данных, что было нормально до сих пор, поскольку сейчас мы находимся в точке, где пять разработчиков работают над пятью расширениями для системы, каждый отдельный филиал Perforce. К сожалению, мы не можем получить повторяющиеся базы данных из-за размера базы данных, поэтому все по-прежнему работают с одной и той же. Это, очевидно, причина проблем: всего десять минут назад у нас была небольшая проблема, когда изменение хранимой процедуры для ветки распространялось на предварительный сервер и вызывало большое количество сбоев для тестировщиков. В идеале мы хотели бы иметь возможность отслеживать эти изменения без необходимости вручную отслеживать их с помощью FogBugz.
У меня вопрос: как вы справитесь с этой ситуацией? Я уверен, что к настоящему времени должен быть хороший способ управления версиями или, по крайней мере, отслеживания изменений в базе данных Oracle.
В 11gR2 введена концепция редакции кода, если обновление базы данных возможно.
Ваша схема данных такая же, как и схема кода? Может быть хорошей идеей разделить их. Таким образом, у вас может быть один и тот же набор таблиц базы данных, но разные наборы схем кода. Тогда один проект может использовать одну схему кода, а другой - вторую схему.
Пока вы привязаны к одному набору данных, у вас будут ограничения. Если один проект ожидает однозначное значение, а другой расширяет его до двух символов, вы можете ожидать проблем.