Несомненно, любая генерация случайных чисел имеет шанс произвести такие прогоны? Вы не получите достаточно большой набор образцов в 3-10 рулонах, чтобы увидеть соответствующие проценты.
Возможно, что вы хотите, это порог милосердия ... помните последние 10 рулонов, и если они У меня был критический удар, дайте им халяву. Сгладьте стропы и стрелы случайности.
У меня есть большой опыт с этим. Мое приложение является очень повторяющимся, и изменения схемы часто происходят. Я делаю производственный выпуск примерно каждые 2 - 3 недели, с 50-100 объектами, очищенными от моего FogBugz, перечисляет для каждого. Каждый выпуск, который мы сделали за последние несколько лет, потребовал, чтобы изменения схемы поддерживали новые функции.
Ключ к этому должен практиковать изменения несколько раз в тестовой среде прежде на самом деле сделать их на живых серверах.
Я сохраняю файл контрольного списка развертывания, который копируется с шаблона и затем в большой степени редактируется для каждого выпуска с чем-либо, что необычно.
У меня есть два сценария, что я работаю на базе данных, один для изменений схемы, один для программируемости (процедуры, представления, и т.д.). Сценарий изменений кодируется вручную, и тот с procs задан сценарием через Powershell. Сценарий изменения выполняется, когда все выключено (необходимо выбрать время, которое раздражает наименьшее количество количества пользователей для этого), и это - команда выполнения командой, вручную, на всякий случай что-либо идет странное. Наиболее распространенная проблема, с которой я столкнулся, добавляет ограничение на уникальность данных, которое перестало работать из-за дублирующихся строк.
При подготовке к циклу интеграционного тестирования я прохожу свой контрольный список на тестовом сервере, как будто тот сервер был производством. Затем в дополнение к этому я иду, получают фактическую копию производственной базы данных (это - хорошее время для выгрузки удаленных резервных копий), и я запускаю скрипты на восстановленной локальной версии (который также хорош, потому что оказывается, что мое последнее резервное копирование является звуковым). Я уничтожаю много птиц с одним камнем здесь.
Таким образом, это - 4 общих количества баз данных:
Вы действительно, действительно должен разобраться в нем, когда Вы делаете это на производстве. Изменения схемы отступления трудны.
До текущих исправлений я буду только когда-либо процедуры текущих исправлений, никогда схема, если это не будет очень изолированное изменение и крайне важный для бизнеса.
Я предполагаю, что Вы рассмотрели чтения Scott Ambler? http://www.agiledata.org/essays/databaseRefactoring.html
Это - тема, что я просто говорил о на работе. Главным образом проблема состоит в том, что, если миграции базы данных не обрабатывается для Вас приятно Вашей платформой, например, направляющими и их сценариями миграции, затем это оставляют до Вас.
Текущий способ, которым мы делаем это, имеет очевидные дефекты, и я открыт для других предложений.
Это ни в коем случае не оптимально и действительно не предназначается как "резервный" дб. Это должно просто сделать попытки жить легкое, и сохранить разработчиков на той же странице. Существует, вероятно, что-то охлаждается, Вы могли установить с capistrano до автоматизации приложения sql файлов к дб.
Дб определенное управление версиями был бы довольно потрясающим. Существует, вероятно, что-то, что делает это и если нет там, вероятно, должен быть.
И если статья Scott Ambler разжигает Ваш аппетит, я могу рекомендовать его книгу с Pramod J Sadolage названный 'Рефакторинг Баз данных' - http://www.ambysoft.com/books/refactoringDatabases.html
Существует также большой полезный совет и информация в Гибкой группе Базы данных в Yahoo - http://tech.groups.yahoo.com/group/agileDatabases/
Два быстрых примечания:
Само собой разумеется... Таким образом, я скажу это дважды.
Проверьте, что у Вас есть допустимое резервное копирование.
Проверьте, что у Вас есть допустимое резервное копирование.
@mk. Проверьте сообщение в блоге Jeff на управление версиями базы данных (если Вы уже не имеете),