У меня проблема с миграцией. Некоторые веб-сайты на многолетнем опыте мигрировали нормально, некоторые нет. Итак, теперь я должен получить тип одного столбца. Существует какой-либо способ получить некоторую информацию о типе данных БД? Что-то вроде этого:Получить данные типа данных столбца в файле миграции Orchard
public int UpdateFrom4()
{
var dType = SchemaBuilder.ExecuteSql(@"select data_type from information_schema.columns where TABLE_NAME = 'MyModule_Orchard_SettingsRecord' and COLUMN_NAME = 'SomeColumn'").Interpreter;
if(dType != "ntext"){
...do some alternate of db
Или как получить сеанс nHibernate? Или прямой доступ к БД? Но я не знаю путь к БД (многолетний опыт).
Большое спасибо.
Спасибо. Да, это не очень хороший способ получить результаты в методе миграции. Но что-то не так в миграции, и теперь у меня есть три варианта. 1) Открывайте его вручную, когда пишете, но в сотнях арендаторов. 2) Напишите приложение для фиксации баз данных. 3) Получите некоторую информацию в методе миграции и внесите изменения только в БД, где это необходимо. Итак, существует ли какая-либо возможность получить некоторую информацию о БД в методах миграции? – user1015270
Это еще код .NET - вы все равно можете открыть SQLConnection и сделать свое дело. Вам просто нужно быть уверенным, что вы делаете (я уверен, что это «неподдерживается»). Например, если вы намерены удалить таблицу, добавленную функцией для виджета, вам нужно гарантировать, что не было экземпляров виджета, добавленного к слоям. Экстремальное тестирование «сухого хода» и резервное копирование ваших баз данных перед реализацией - это необходимо. Вы должны убедиться, что в конце процесса исправления версия миграции для этой функции одинакова для всех арендаторов (при условии, что все они теперь «правильные») –
Вы абсолютно правы, что тестирование необходимо. И я сделал. Существовал не так много, только расширить текстовые данные типа одного столбца. Ничего не происходит. И вы уверены, что его еще .NET-код, но, как я писал в моем вопросе, я не знаю в методе миграции ничего о connectionstring конкретной базы данных. – user1015270