protected override void Generate(DropTableOperation operation, IModel model, MigrationCommandListBuilder builder, bool terminate = true) { string tableName = operation.Name; string schema = operation.Schema ?? "dbo"; bool isEntityTemporalInDatabase = tableHelper.IsTableTemporal(tableName, schema); if (isEntityTemporalInDatabase) { ITemporalTableSqlGenerator temporalTableSqlGenerator = new DropTemporalTableGenerator(tableName, schema); string temporalTableSql = temporalTableSqlGenerator.Generate(); builder.AppendLine(temporalTableSql); } base.Generate(operation, model, builder, terminate); }
/// <inheritdoc /> public ITemporalTableSqlGenerator CreateInstance( bool isEntityConfigurationTemporal, bool isEntityTemporalInDatabase, string tableName, string schemaName) { ITemporalTableSqlGenerator temporalTableSqlGenerator = null; if (isEntityConfigurationTemporal && !isEntityTemporalInDatabase) { temporalTableSqlGenerator = new CreateTemporalTableGenerator(tableName, schemaName); } else if (!isEntityConfigurationTemporal && isEntityTemporalInDatabase) { temporalTableSqlGenerator = new DropTemporalTableGenerator(tableName, schemaName); } else { temporalTableSqlGenerator = new NoSqlTemporalTableGenerator(tableName, schemaName); } return(temporalTableSqlGenerator); }