Помечать или версию базы данных SQL Server CE для будущих миграций? - PullRequest
1 голос
/ 23 ноября 2011

У меня есть приложение с частной установкой SQL Server CE.Мы хотим дать пользователю возможность оставить базу данных на деинсталляции в случае, если они переустановят позже или обновят, что является моей проблемой ...

Если они покидают базу данных из версии 1.5 моего приложения нана компьютере, затем установите версию 2.0. Как я могу определить во время установки версии 2.0, какая у них версия БД?

Есть ли способ пометить или установить метаданные в базе данных SQL Server CE, которые можно прочитать позже?

Единственная альтернатива, которую я имею на данный момент, - это сравнение схем, что я не хочу делать.

Ответы [ 2 ]

0 голосов
/ 23 ноября 2011

Одним из решений, которое я использовал в прошлом, было создание таблицы «Версия» в базе данных.

В этой таблице вы можете включить, по крайней мере, одну строку, которая содержитверсия приложения, использованного для создания базы данных.

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

Одним из преимуществ такого метода является то, что он позволяет легко обновлять даже более «старые» версии вашего приложения - когда ваши клиенты обновляются с версии 1 до версии 3 (без установки версии 2).Вы создаете метод / класс «Обновление базы данных», который обновляется с версии X до версии Y. Затем вы можете иметь несколько таких обновлений ... Когда вы сталкиваетесь с базой данных, которая не в последней версии, вы продолжаете обновлять ее, каждый разболее свежий апгрейд.

0 голосов
/ 23 ноября 2011

Добавить таблицу с одним столбцом int в базу данных с одной строкой, связываясь с версией схемы.

...