Лучший способ обновления базы данных SQL Server Compact Edition 3.5? - PullRequest
1 голос
/ 08 июня 2009

У меня есть настольное приложение, которое использует базу данных SQL Server CE 3.5. Я не могу использовать любую другую редакцию SQL Server. Теперь я задаюсь вопросом: в случае будущих обновлений функциональности, как мне лучше всего обновить базу данных (= сохранить текущие данные, но добавить новые поля / таблицы / и т. Д.)?

Если бы я использовал одну из серверных редакций, я просто написал бы скрипт обновления и запустил его. Моя текущая идея - сделать следующее:

  1. Переименовать старый файл базы данных (резервная копия)
  2. Скопируйте новый файл базы данных
  3. Подключение к обоим файлам базы данных
  4. Копировать все данные из старого в новый база данных программно

Это работает, но подход не кажется оптимальным. Есть ли более простой и надежный способ?

1 Ответ

1 голос
/ 08 июня 2009

Попробуйте Wizardby : он позволяет вам задавать изменения базы данных постепенно и будет применять эти изменения очень контролируемым образом. Вам нужно будет написать файл MDL и распространить его вместе с вашим приложением вместе с двоичными файлами Wizardby, и при запуске приложения он проверит, актуальна ли версия базы данных, и если нет, то применит все необходимые изменения в транзакции (к счастью, SQL Сервер CE поддерживает транзакции DDL).

...