Какие данные таблицы должны сохраняться при переносе данных Orchard CMS в несколько сред?

С Orchard CMS 1.6 у меня есть четыре настроенные среды: разработка, тестирование, подготовка и производство.

Я внес много изменений с панели управления Orchard UI в разработке, и я хочу перенести эти изменения в другие среды. Связанный вопрос показывает, что это можно сделать вручную через панель инструментов Orchard с помощью модулей импорта / экспорта, но я ищу решение для миграции данных, которое можно автоматизировать. На самом деле, я рассчитываю завершить третий шаг для базы данных SQL Server 2005/2008 в принятом ответе на этот связанный с этим вопрос: "Перенос базы данных в производственную среду".

Когда речь заходит о настройке и обслуживании Orchard CMS в нескольких средах вне Azure, документации не так много, и в моей текущей базе данных Orchard есть 88 таблиц. Очевидно, что все, что я могу сделать для автоматизации развертывания данных, очень помогло бы.

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

Какие таблицы должны сохраняться в их среде?

Прямо сейчас я думаю, что они:

  1. Orchard_Users_UserPartRecord - У меня есть пользователи в Production, которых я не хочу больше нигде.
  2. Данные среды - у меня есть строки подключения, которые я поместил в таблицу для настраиваемого модуля, которые различны для каждой среды.

Я что-то пропустил? Какие другие данные должны храниться в таблицах в целевых средах?

1 ответ

Решение

Я действительно не рекомендовал бы перенос базы данных: у вас будут огромные проблемы с идентификаторами, связями и т. Д. Элементы контента распределяются по многим таблицам, иногда способами, которые трудно предсказать, и нет гарантии, что один и тот же идентификатор не имеет не относились в разных средах к разным предметам или записям. Вот почему процедура более высокого уровня, такая как импорт / экспорт, является рекомендуемым подходом.

Автоматизация - это абсолютно то, чего мы хотим, и есть ветка функций, которая делает это точно для будущей версии Orchard (функция / развертывание IIRC).

В то же время я уверен, что импорт и экспорт также существуют в виде команд для интерфейса командной строки, что должно позволить вам в определенной степени автоматизировать его.