public override void IndexTraits(MigrationOperation operation, IModel model, SqlBatchBuilder builder)
        {
            Check.NotNull(operation, nameof(operation));
            Check.NotNull(builder, nameof(builder));

            var clustered = (string)operation[SqlServerAnnotationNames.Prefix + SqlServerAnnotationNames.Clustered];
            if (clustered != null)
            {
                builder.Append(clustered == "True" ? "CLUSTERED " : "NONCLUSTERED ");
            }
        }
        protected virtual void Generate(MigrationOperation operation)
        {
            var batch = SqlGenerator.Generate(new[] { operation });

            Sql = string.Join(
                EOL + "GO" + EOL + EOL,
                batch.Select(b => b.Sql));
        }
        private IEnumerable<SqlBatch> CreateDropCommands()
        {
            var operations = new MigrationOperation[]
                {
                    // TODO Check DbConnection.Database always gives us what we want
                    // Issue #775
                    new DropDatabaseOperation { Name = _connection.DbConnection.Database }
                };

            var masterCommands = _sqlGenerator.Generate(operations);
            return masterCommands;
        }