Exemplo n.º 1
0
 private string GetEffectivePkConstraintName()
 {
     if (GetCreateColumnCommands().Where(c => c.IsPrimaryKey).Any())
     {
         return(DefaultObjectNameProvider.GetPrimaryKeyConstraintName(TableName, _primaryKeyConstraintName));
     }
     else
     {
         return(string.Empty);
     }
 }
Exemplo n.º 2
0
        public IEnumerable <string> ToSql(IProvider provider, IMigrationContext context)
        {
            AlterTableCommand            parentAlterTableCommand;
            AlterSchemaCommand           parentAlterSchemaCommand;
            AlterColumnCommand           parentAlterColumnCommand;
            AlterPrimaryKeyCommand       parentAlterPrimaryKeyCommand;
            AlterIndexCommand            parentAlterIndexCommand;
            AlterUniqueConstraintCommand parentAlterUniqueConstraintCommand;
            AlterForeignKeyCommand       parentAlterForeignKeyCommand;

            if ((parentAlterTableCommand = Parent as AlterTableCommand) != null)
            {
                return(provider.DropTable(new TableName(parentAlterTableCommand.TableName, parentAlterTableCommand.Schema ?? context.GetDefaultSchema()), Check == Check.IfExists));
            }
            else if ((parentAlterSchemaCommand = Parent as AlterSchemaCommand) != null)
            {
                return(provider.DropSchema(parentAlterSchemaCommand.Schema));
            }
            else if ((parentAlterColumnCommand = Parent as AlterColumnCommand) != null)
            {
                return(provider.DropColumn(new TableName(parentAlterColumnCommand.Parent.TableName, parentAlterColumnCommand.Parent.Schema ?? context.GetDefaultSchema()), parentAlterColumnCommand.ColumnName));
            }
            else if ((parentAlterPrimaryKeyCommand = Parent as AlterPrimaryKeyCommand) != null)
            {
                string effectiveConstraintName = DefaultObjectNameProvider.GetPrimaryKeyConstraintName(parentAlterPrimaryKeyCommand.Parent.TableName, parentAlterPrimaryKeyCommand.ConstraintName);
                return(provider.DropPrimaryKey(new TableName(parentAlterPrimaryKeyCommand.Parent.TableName, parentAlterPrimaryKeyCommand.Parent.Schema ?? context.GetDefaultSchema()), effectiveConstraintName));
            }
            else if ((parentAlterIndexCommand = Parent as AlterIndexCommand) != null)
            {
                return(provider.DropIndex(new TableName(parentAlterIndexCommand.Parent.TableName, parentAlterIndexCommand.Parent.Schema ?? context.GetDefaultSchema()), parentAlterIndexCommand.IndexName));
            }
            else if ((parentAlterUniqueConstraintCommand = Parent as AlterUniqueConstraintCommand) != null)
            {
                return(provider.DropUniqueConstraint(new TableName(parentAlterUniqueConstraintCommand.Parent.TableName, parentAlterUniqueConstraintCommand.Parent.Schema ?? context.GetDefaultSchema()), parentAlterUniqueConstraintCommand.ConstraintName));
            }
            else if ((parentAlterForeignKeyCommand = Parent as AlterForeignKeyCommand) != null)
            {
                return(provider.DropForeignKey(new TableName(parentAlterForeignKeyCommand.Parent.TableName, parentAlterForeignKeyCommand.Parent.Schema ?? context.GetDefaultSchema()), parentAlterForeignKeyCommand.ConstraintName));
            }
            else
            {
                throw new InvalidOperationException("Unsupported parent command of a DropCommand.");
            }
        }
Exemplo n.º 3
0
 private string GetEffectiveIndexName()
 {
     return(DefaultObjectNameProvider.GetIndexName(Parent.TableName, _columnNames.First(), _indexName));
 }
Exemplo n.º 4
0
 private string GetEffectiveConstraintName()
 {
     return(DefaultObjectNameProvider.GetPrimaryKeyConstraintName(Parent.TableName, _constraintName));
 }
Exemplo n.º 5
0
 private string GetEffectiveConstraintName()
 {
     return(DefaultObjectNameProvider.GetUniqueConstraintName(Parent.TableName, _columnNames.First(), _constraintName));
 }
Exemplo n.º 6
0
 private string GetEffectiveConstraintName()
 {
     return(DefaultObjectNameProvider.GetForeignKeyConstraintName(Parent.TableName, _referencedTableName, _constraintName));
 }
Exemplo n.º 7
0
 private string GetEffectiveUniqueConstraintName(CreateColumnCommand c)
 {
     return(c.IsUnique ? DefaultObjectNameProvider.GetUniqueConstraintName(TableName, c.ColumnName, c.UniqueConstraint) : string.Empty);
 }
Exemplo n.º 8
0
 /// <summary>
 /// Gets the primary key constraint of the table with the default name.
 /// </summary>
 public static IExistingPrimaryKey PrimaryKey(this IExistingTable table)
 {
     return(table.PrimaryKey(DefaultObjectNameProvider.GetPrimaryKeyConstraintName(table.TableName, null)));
 }
Exemplo n.º 9
0
 /// <summary>
 /// Gets an foreign key constraint by the name of its referenced table.
 /// </summary>
 public static IForeignKey ForeignKeyTo(this IExistingTable table, string referencedTableName)
 {
     return(table.ForeignKeys[DefaultObjectNameProvider.GetForeignKeyConstraintName(table.TableName, referencedTableName, null)]);
 }
Exemplo n.º 10
0
 /// <summary>
 /// Gets an unique constraint by the name of its first column.
 /// </summary>
 public static IUniqueConstraint UniqueConstraintOf(this IExistingTable table, string firstColumnName)
 {
     return(table.UniqueConstraints[DefaultObjectNameProvider.GetUniqueConstraintName(table.TableName, firstColumnName, null)]);
 }