private string GenerateSqlStatementConcrete(MoveTableOperation migrationOperation)
 {
     throw new NotSupportedException("Move operations not supported by SQLite");
 }
Example #2
0
 protected virtual MigrationStatement Generate(MoveTableOperation op)
 {
     return(null); // TODO :check if we'll suppport this operation
 }
Example #3
0
        protected override void Generate(MoveTableOperation moveTableOperation, IndentedTextWriter writer)
        {
            var move = new MoveTableOperation(TrimSchemaPrefix(moveTableOperation.Name), moveTableOperation.NewSchema);

            base.Generate(move, writer);
        }
Example #4
0
 protected virtual void Generate(MoveTableOperation opeMoveTable)
 {
 }
 protected virtual IEnumerable <MigrationStatement> Generate(MoveTableOperation operation)
 {
     throw new NotSupportedException("Moving table is not supported by Firebird.");
 }
Example #6
0
 private void Generate(MoveTableOperation moveTableOperation)
 {
     throw new NotImplementedException();
 }
Example #7
0
 public override void Generate(MoveTableOperation moveTableOperation, SqlBatchBuilder batchBuilder)
 {
 }
 protected virtual IEnumerable <MigrationStatement> Generate(MoveTableOperation operation)
 {
     throw new NotSupportedException("'MoveTableOperation' is not supported.");
 }
Example #9
0
        private void Generate(MoveTableOperation moveTableOperation)
        {
            ArgumentUtility.CheckNotNull("moveTableOperation", moveTableOperation);

            throw new NotImplementedException("MoveTableOperation");
        }
        /// <summary>
        ///     Generates SQL for a <see cref="MoveTableOperation" />.
        ///     Generated SQL should be added using the Statement method.
        /// </summary>
        /// <param name="moveTableOperation"> The operation to produce SQL for. </param>
        protected virtual void Generate(MoveTableOperation moveTableOperation)
        {
            Check.NotNull(moveTableOperation, "moveTableOperation");

            var newSchema = moveTableOperation.NewSchema ?? "dbo";

            if (!newSchema.EqualsIgnoreCase("dbo") &&
                !_generatedSchemas.Contains(newSchema))
            {
                GenerateCreateSchema(newSchema);

                _generatedSchemas.Add(newSchema);
            }

            if (!moveTableOperation.IsSystem)
            {
                using (var writer = Writer())
                {
                    writer.Write("ALTER SCHEMA ");
                    writer.Write(Quote(newSchema));
                    writer.Write(" TRANSFER ");
                    writer.Write(Name(moveTableOperation.Name));

                    Statement(writer);
                }
            }
            else
            {
                Debug.Assert(moveTableOperation.CreateTableOperation != null);
                Debug.Assert(!string.IsNullOrWhiteSpace(moveTableOperation.ContextKey));

                using (var writer = Writer())
                {
                    writer.Write("IF object_id('");
                    writer.Write(moveTableOperation.CreateTableOperation.Name);
                    writer.WriteLine("') IS NULL BEGIN");
                    writer.Indent++;
                    WriteCreateTable(moveTableOperation.CreateTableOperation, writer);
                    writer.WriteLine();
                    writer.Indent--;
                    writer.WriteLine("END");

                    writer.Write("INSERT INTO ");
                    writer.WriteLine(Name(moveTableOperation.CreateTableOperation.Name));
                    writer.Write("SELECT * FROM ");
                    writer.WriteLine(Name(moveTableOperation.Name));
                    writer.Write("WHERE [ContextKey] = ");
                    writer.WriteLine(Generate(moveTableOperation.ContextKey));

                    writer.Write("DELETE ");
                    writer.WriteLine(Name(moveTableOperation.Name));
                    writer.Write("WHERE [ContextKey] = ");
                    writer.WriteLine(Generate(moveTableOperation.ContextKey));

                    writer.Write("IF NOT EXISTS(SELECT * FROM ");
                    writer.Write(Name(moveTableOperation.Name));
                    writer.WriteLine(")");
                    writer.Indent++;
                    writer.Write("DROP TABLE ");
                    writer.Write(Name(moveTableOperation.Name));
                    writer.Indent--;

                    Statement(writer);
                }
            }
        }
 // ReSharper disable once UnusedParameter.Local
 private string GenerateSqlStatementConcrete(MoveTableOperation migrationOperation)
 {
     throw new NotSupportedException("Move operations not supported by Jet (Jet does not support schemas at all)");
 }
Example #12
0
 private void Generate(MoveTableOperation op)
 {
     throw new NotSupportedException();
 }
 protected override void Generate(MoveTableOperation moveTableOperation, IndentedTextWriter writer)
 {
     base.Generate(moveTableOperation, writer);
 }
Example #14
0
 public abstract void Generate([NotNull] MoveTableOperation moveTableOperation, [NotNull] SqlBatchBuilder batchBuilder);
Example #15
0
 /// <summary>
 /// Generates SQL for a <see cref="MoveTableOperation" />.
 /// Generated SQL should be added using the Statement method.
 /// </summary>
 /// <param name="moveTableOperation"> The operation to produce SQL for. </param>
 protected virtual void Generate(MoveTableOperation moveTableOperation)
 {
 }
Example #16
0
 public abstract void Generate([NotNull] MoveTableOperation dropTableOperation, [NotNull] IndentedStringBuilder stringBuilder);
 /// <inheritdoc />
 protected override void Generate(MoveTableOperation moveTableOperation)
 {
 }
        public virtual void Visit(MoveTableOperation moveTableOperation, DatabaseModel databaseModel)
        {
            var table = databaseModel.GetTable(moveTableOperation.TableName);

            table.Name = new SchemaQualifiedName(moveTableOperation.TableName.Name, moveTableOperation.NewSchema);
        }