protected override void Generate(MigrationOperation operation, IModel model, MigrationCommandListBuilder builder) { Check.NotNull(operation, nameof(operation)); Check.NotNull(builder, nameof(builder)); var createDatabaseOperation = operation as SqlServerCreateDatabaseOperation; var dropDatabaseOperation = operation as SqlServerDropDatabaseOperation; if (createDatabaseOperation != null) { Generate(createDatabaseOperation, model, builder); } else if (dropDatabaseOperation != null) { Generate(dropDatabaseOperation, model, builder); } else { base.Generate(operation, model, builder); } }
protected override void IndexTraits(MigrationOperation operation, IModel model, MigrationCommandListBuilder builder) { Check.NotNull(operation, nameof(operation)); Check.NotNull(builder, nameof(builder)); var clustered = operation[SqlServerFullAnnotationNames.Instance.Clustered] as bool?; if (clustered.HasValue) { builder.Append(clustered.Value ? "CLUSTERED " : "NONCLUSTERED "); } }
private IReadOnlyList<MigrationCommand> CreateDropCommands() { var operations = new MigrationOperation[] { // TODO Check DbConnection.Database always gives us what we want // Issue #775 new MyCatDropDatabaseOperation { Name = _connection.DbConnection.Database } }; var masterCommands = _migrationsSqlGenerator.Generate(operations); return masterCommands; }