2010-11-18 2 views
2

У меня есть одно приложение для Windows, в котором используется SQL-база данных. Я создал настройку для этого приложения, используя проект установки и развертывания. Возможно, мне придется создавать сборки каждый месяц с изменениями в приложении, и пользователь должен его обновить.Настройка приложения Windows - изменение конфигурации базы данных и базы данных

Мое приложение создает файл sqlite DB, когда он запускается в первый раз. Если файл DB есть, он не создает его. Теперь, когда у меня есть обновление для приложения, я также должен внести некоторые изменения в схему БД. В этом случае пользователь может также иметь некоторые данные в базе данных sqlite. Я не должен касаться данных, но обновляю схему БД. Также это произойдет через несколько месяцев, так как я добавлю новые функции в приложение.

Как обычно мы обрабатываем этот вид обновления для приложения. Я создаю новую настройку каждый раз, когда добавляю в приложение новые функции, которые удаляют существующую версию и устанавливают новую версию. Но я смущен о части базы данных. Как мы должны обрабатывать это инкрементное обновление в схеме БД?

Любые предложения?

ответ

0

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

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

Адрес article. Он очень четко объясняет этот подход, и это был взгляд быков на мое требование.

1

Autopatchnet - Этот проект является .Net-портом AutoPatch на основе оригинального проекта dotnet-проекта TactiKnowledge.

ecm7migrator - Этот проект является вилкой от Migrator.NET.

Migrator.NET - Переходы базы данных для .NET. На основе идеи Rails ActiveRecord Migrations.

+0

Yup; в значительной степени ответом является управление версиями/миграциями базы данных (что вы должны делать для своего кода в любом случае, а не только для развертывания). – strager

1

В вашей базе данных должен быть номер версии DB и получить ваше приложение для обновления базы данных в зависимости от номера версии. Таким образом, ваши скрипты обновления sql будут содержаться в/вызываемом вашим приложением и обрабатываться при запуске.

Установка обновит код и файлы, и ваше приложение обновит базу данных.

+0

База данных была реализована так, как вы сказали. Обновление приложения выполняется по-другому. Я ответил на свой вопрос. – JPReddy

Смежные вопросы