Есть приложение, использующее в качестве ORM EntityFramework. Нужно к этому приложению прикрутить миграцию БД. На данный момент рассматриваются EF Code First Migrations.
Для миграции структуры данных класс DbMigration предоставляет специальные методы (AddTable, AddColumn и т.д.). Для миграции самих данных,
согласно информации отсюда:
There is no native support for data motion yet, but we can run some arbitrary SQL commands at any point in our script.
предлагается выполнять SQL-скрипты посредством вызова методов Sql, SqlFile и SqlResource.
Предполагается, что приложение может поддерживать работу с разными СУБД (SqlServer, Oracle, Postgre). Поскольку Sql-скрипты миграций могут (и скорее всего будут) отличаться друг от друга для разных СУБД, то возникает вопрос, как выбирать нужный скрипт в зависимости от СУБД?
Я предполагаю, что нужно написать код вида:
if (IsSqlServer) {
SqlFile("Script1_SqlServer.sql");
}
else if (IsOracle) {
SqlFile("Script1_Oracle.sql");
}
Если я прав, то как правильнее организовать проверку СУБД (получить значения IsSqlServer, IsOracle)? Если нет, то что нужно сделать для миграции данных?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости