Предложения / советы о том, как сделать личную разработку на веб-сервере (asp.net) - WRG для управления базой данных во время разработки - PullRequest
0 голосов
/ 04 февраля 2011

Я уверен, что другие люди делают это .. Я просто ищу несколько советов о лучших способах сделать это.

Проблема: У меня есть веб-сервер, который я создаю в качестве хобби - он поддерживает мои мобильные приложения. У меня есть 2 машины, которые я использую для работы над кодом, и из-за этого необходимо синхронизировать их. Я бы предпочел работать с локальной БД для разработки, а затем развернуть БД на хосте, когда я хочу опубликовать сайт. Проблема в том, что с двумя машинами я не уверен, как синхронизировать БД. Более того, я не очень хорошо разбираюсь в базах данных, и поэтому я хочу что-то вроде компаратора Schema, поставляемого с VS, чтобы позволить мне синхронизировать DB хоста с моей локальной DB.

Вот инструменты, которые я имею в своем распоряжении: 1. Visual Studio 2010 2. Локальный SQL Express 3. Хостинг-сервер, который позволяет мне использовать SQL. 4. Assembla / svn - я использую это для контроля версий.

Что я сейчас делаю: Вместо локальной БД я использую удаленную БД на своем хосте для разработки. Хорошая вещь об этом - то, что мне не нужно синхронизировать DB на моих 2 машинах (так как я использую ту же самую удаленную для разработки). Плохая вещь в этом заключается в том, что я не могу использовать инструменты, поставляемые с VS, для синхронизации схемы, потому что мой хост блокирует определенные свойства, которые необходимы в исходной БД.

Итак .. Как вы, ребята, делаете это?

1 Ответ

0 голосов
/ 04 февраля 2011

Я делаю это, поддерживая схему в коде - в основном кусок DDL (язык определения данных - т.е. SQL для обслуживания схемы) и включая таблицу версий в базу данных.

Затем вы можете запустить код, который говорит:

  1. Если базы данных нет, создайте ее без схемы, кроме таблицы версий
  2. Если база данных есть, проверьте номер версии
  3. Если версия меньше текущей версии, запустите программу, которая выполнит запросы, обновляющие схему до текущей версии
  4. Если версия больше текущей версии - остановите и не запускайте приложение.

Недостатком является небольшой объем работы по поддержке кода. Положительным моментом является то, что становится очень просто поддерживать синхронизацию схем базы данных.

У меня есть длинный пример где-то здесь - я попытаюсь найти его снова, когда у меня будет время.

...