protected override void OverrideConfiguration(DbMigrationsConfiguration configuration) { base.OverrideConfiguration(configuration); if (Force) { configuration.AutomaticMigrationDataLossAllowed = true; } }
protected override void OverrideConfiguration(DbMigrationsConfiguration configuration) { base.OverrideConfiguration(configuration); // If the user hasn't set their own generator and he/she is using a VB project then switch in the default VB one if (Language == "vb" && configuration.CodeGenerator is CSharpMigrationCodeGenerator) { configuration.CodeGenerator = new VisualBasicMigrationCodeGenerator(); } }
/// <summary> /// Initializes a new instance of the MigrationScaffolder class. /// </summary> /// <param name = "migrationsConfiguration">Configuration to be used for scaffolding.</param> public MigrationScaffolder(DbMigrationsConfiguration migrationsConfiguration) { Contract.Requires(migrationsConfiguration != null); _migrator = new DbMigrator(migrationsConfiguration); }
protected virtual void OverrideConfiguration(DbMigrationsConfiguration configuration) { if (ConnectionStringInfo != null) { configuration.TargetDatabase = ConnectionStringInfo; } }
/// <summary> /// Initializes a new instance of the MigrateDatabaseToLatestVersion class. /// </summary> public MigrateDatabaseToLatestVersion() { _config = new TMigrationsConfiguration(); }
/// <summary> /// Initializes a new instance of the MigrationScaffolder class. /// </summary> /// <param name="migrationsConfiguration"> Configuration to be used for scaffolding. </param> public MigrationScaffolder(DbMigrationsConfiguration migrationsConfiguration) { Check.NotNull(migrationsConfiguration, "migrationsConfiguration"); _migrator = new DbMigrator(migrationsConfiguration); }
/// <summary> /// Creates a full type instance for the migration id by using the current migrations namespace /// ie: SmartStore.Data.Migrations.34589734533_Initial /// </summary> /// <param name="migrator">The migrator context</param> /// <param name="migrationId">The migration id from the migrations list of the migrator</param> /// <returns>The full DbMigration instance</returns> public static DbMigration CreateMigrationInstanceByMigrationId(string migrationId, DbMigrationsConfiguration config) { string migrationTypeName = string.Format(_migrationTypeFormat, config.MigrationsNamespace, GetMigrationClassName(migrationId), config.MigrationsAssembly.FullName); return(CreateTypeInstance <DbMigration>(migrationTypeName)); }
public CreateAndMigrateDatabaseInitializer() { _configuration = new TConfiguration(); }
public static IEnumerable <SqlResourceInfo> ExecuteSqlScripts <TContext>(this DbMigrationsConfiguration <TContext> config, TContext context, ScriptExecuteRule rule = ScriptExecuteRule.Modified, string packName = null) where TContext : DbContext { packName = (packName ?? String.Empty).Trim(); var configType = config.GetType(); var startString = configType.Namespace + SqlResourceInfo.scriptFolderName + (string.IsNullOrWhiteSpace(packName) ? "" : packName + "."); var migrateCultures = new[] { "Default", GetResourceCultureName() }; var resources = configType.Assembly.GetManifestResourceNames().Where(s => s.StartsWith(startString, StringComparison.InvariantCultureIgnoreCase) && s.EndsWith(".sql", StringComparison.InvariantCultureIgnoreCase) ).Select(s => new SqlResourceInfo(configType, packName, s)) .Where(r => migrateCultures.Contains(r.CultureName, StringComparer.InvariantCultureIgnoreCase)); using (var historyContext = new SqlScriptsHistoryContext(context.Database.Connection, false)) { InitializeDatabase(historyContext); historyContext.Database.CommandTimeout = (int)Math.Max(context.Database.CommandTimeout ?? 0, 120); var histories = historyContext.SqlScriptsHistory.Where(h => h.ScriptName.StartsWith(startString)).ToDictionary(h => h.ScriptName.ToLower(), h => h.Hash); DbContextTransaction packTran = null; switch (rule) { case ScriptExecuteRule.Modified: resources = resources.Where(r => { string hashVal; return(!histories.TryGetValue(r.Path.ToLower(), out hashVal) || !hashVal.Equals(r.Hash, StringComparison.InvariantCultureIgnoreCase)); }); break; case ScriptExecuteRule.ModifiedPack: if (!resources.Any(r => { string hashVal; return(!histories.TryGetValue(r.Path.ToLower(), out hashVal) || !hashVal.Equals(r.Hash, StringComparison.InvariantCultureIgnoreCase)); })) { resources = new SqlResourceInfo[] { }; } else { packTran = historyContext.Database.BeginTransaction(); } break; case ScriptExecuteRule.Once: resources = resources.Where(r => !histories.ContainsKey(r.Path.ToLower())); break; //default: // do nothing on ScriptExecuteRule.Always } resources = resources .OrderBy(r => r.CultureName == "Default" ? 0 : 1) .ThenBy(r => r.FolderName + "z") .ThenBy(r => r.Path).ToArray(); try { foreach (var resourceInfo in resources.ToArray()) { resourceInfo.ExecuteSqlScript(historyContext, packTran); } if (packTran != null) { packTran.Commit(); } } finally { if (packTran != null) { packTran.Dispose(); } } return(resources); } }
public static IEnumerable <SqlResourceInfo> ExecuteSqlScripts <TContext>(this DbMigrationsConfiguration <TContext> config, TContext context, string packName) where TContext : DbContext { return(ExecuteSqlScripts(config, context, ScriptExecuteRule.ModifiedPack, packName)); }
/// <summary> /// Initializes a new instance of the <see cref="UpdateMigrationsInitializer{TContext}" /> class. /// </summary> /// <param name="config">The config.</param> /// <param name="sqlVerify">The SQL verify.</param> public UpdateMigrationsInitializer(DbMigrationsConfiguration <TContext> config, ISqlVerify sqlVerify) { this._config = config; this._sqlVerify = sqlVerify; }
/// <summary> /// Initializes a new instance of the <see cref="UpdateMigrationsInitializer{TContext}"/> class. /// </summary> /// <param name="config"> /// The config. /// </param> public UpdateMigrationsInitializer(DbMigrationsConfiguration <TContext> config) { this._config = config; }
public DataContextInitialisationAndMigration() { _configuration = new TConfiguration(); }