Каков наилучший способ обработки обновлений базы данных в Windows и веб-приложении? - PullRequest
2 голосов
/ 07 декабря 2010

Я знаю, как создавать сценарии, но он знает, как реализовать эти сценарии в приложении для Windows или веб-приложении?

Сосредоточив внимание на веб-приложении, у меня есть все сценарии обновления в папке типа: \ install\ upgrade_1.4.99.sql, upgrade_1.4.101.sql и т. д.

Код C # проверяет текущую версию базы данных кода с версией c #, просматривает каждый сценарий sql по порядку и запускает сценарий.

Еслипользователь не является администратором, отобразить соответствующее сообщение о том, что обновление неизбежно ... что-то подобное (выход пользователя из системы).Администраторы (мы) перенаправляются на обновление веб-страницы и запускают сценарии, отображающие ошибки или успехи для каждого сценария.Ошибка приводит к откату транзакции SQL.

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

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

Так является ли мой способ обновления веб-сайтов лучшим способом для этого?Могу ли я принять тот же процесс для приложений Windows?

Также я уверен, что мой метод чтения файла сценария может быть улучшен.Мы просто читаем каждую строку текста в файле sql и ждем «GO» и сохраняем эту строку в массив перед обработкой их всех.(Я не писал этот код).Процесс включает в себя один большой Begin and Commit Trans ... просто не уверен, правильно это или нет.

Извините, не уверен, что здесь слишком много вопросов.

1 Ответ

1 голос
/ 07 декабря 2010

На самом деле вы можете запустить весь пакетный сценарий сразу для SQL Server:

http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/43e8bc3a-1132-453b-b950-09427e970f31

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

HTH, Брайан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...