Первый код DbMigrator вызывает ошибку при сборке с разных машин

У нас есть проект под SCM.Когда я собираю его со своей машины и публикую на удаленном сервере через msdeploy все работает нормально.

Когда мой коллега пытается сделать то же самое с тем же проектом, только что полученным из SCM, на удаленном сервере fr amework 4.3.1 DbMigrator выдает:

Автоматическая миграция не применялась, так как это может привести к потере данных.

Как оказалось, человек, который делает первоначальную публикацию на удаленном сервере, является «победителем». Если мы сбросим базу данных на удаленный сервер, то мой коллега сможет опубликовать ее, а меня заблокируют. Мои публикации приводят к той же ошибке, что и выше.

Конфигурация для DbMigrator выглядит примерно так:

        var dbMgConfig = new DbMigrationsConfiguration()
        {
            AutomaticMigrationsEnabled = true,
            //***DO NOT REMOVE THIS LINE, 
            //DATA WILL BE LOST ON A BREAKING SCHEMA CHANGE,
            //TALK TO OTHER PARTIES INVOLVED IF THIS LINE IS CAUSING PROBLEMS    
            AutomaticMigrationDataLossAllowed=false,
            //***DO NOT REMOVE THIS LINE,
            ContextType = typeof(TPSContext),
            MigrationsNamespace = "TPS.Migrations",
            MigrationsAssembly = Assembly.GetExecutingAssembly()
        };

Я предполагаю, что это как-то связано с новой таблицей __MigrationHistory и неприятно выглядящей длинной шестнадцатеричной строкой, хранящейся в ее строках. .

Я не хочу брать на себя полную ответственность за публикацию в прямом эфире. На что я могу обратить внимание?

43
задан spender 9 July 2012 в 15:35
поделиться