Настройка приложения Windows - обновление и изменение схемы базы данных - PullRequest
3 голосов
/ 18 ноября 2010

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

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

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

Есть предложения?

Ответы [ 3 ]

1 голос
/ 18 ноября 2010

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

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

1 голос
/ 18 ноября 2010

Autopatchnet - Этот проект представляет собой .Net-порт AutoPatch на основе исходного проекта TactiKnowledge dotnet.

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

Migrator.NET - Миграция базы данных для .NET. Основано на идее Rails ActiveRecord Migrations.

0 голосов
/ 18 ноября 2010

Хотя приведенные выше ответы будут в определенной степени касаться моей проблемы, я в целом предложил другой подход.

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

Вот статья (эта ссылка обновлена, так как предыдущая ссылка не работала). Это объясняет об этом подходе очень четко, и это бросило бы в глаза мое требование.

...