public override string GetColumn(MigrationColumn column)
 {
     return(this.WrapWithQuotes(column.ColumnName) + " " + this.GetColumnType(column.ColumnType)
            + (column.Nullable ? " NULL" : " NOT NULL")
            + (column.DefaultValue != null ? " DEFAULT " + this.FormatValueString(column.DefaultValue) : "")
            + (column.Unique ? " UNIQUE" : ""));
 }
        public static string ScriptForAlterColumn(MigrationColumn oldColumn, MigrationColumn newColumn)
        {
            var script = Script.New();

            var oldforeignkeyColumn = oldColumn as ForeignKeyColumn;
            var newforeignkeyColumn = newColumn as ForeignKeyColumn;

            if ((oldforeignkeyColumn != null && newforeignkeyColumn == null) || // the column is no more a foreign key
                (oldforeignkeyColumn != null && newforeignkeyColumn != null && oldforeignkeyColumn.ReferencedTableName != newforeignkeyColumn.ReferencedTableName))    // the foreign key has changed target

            {
                script.Append(ScriptForDeleteForeignKey(oldforeignkeyColumn));
                script.AppendEmptyLine();
            }

            script.AppendLine("// WARNING ! this column alteration might not work properly without specific data migration code");
            script.AppendLine("Alter.Column(\"{0}\").OnTable(\"{1}\"){2}", newColumn.Name, newColumn.OwnerTable.Name, newColumn.ScriptActions());
            script.AppendSemicolon();

            if ((oldforeignkeyColumn == null && newforeignkeyColumn != null) || // the column has become a foreign key
                (oldforeignkeyColumn != null && newforeignkeyColumn != null && oldforeignkeyColumn.ReferencedTableName != newforeignkeyColumn.ReferencedTableName))     // the foreign key has changed target

            {
                script.AppendEmptyLine();
                script.Append(ScriptForCreateForeignKey(newforeignkeyColumn));
                script.AppendEmptyLine();
            }

            return(script.ToString());
        }
Exemple #3
0
 public override string GetColumn(MigrationColumn column)
 {
     return(this.WrapWithQuotes(column.ColumnName) + " " + this.GetColumnType(column.ColumnType)
            + (column.Nullable ? " NULL" : " NOT NULL")
            + (column is PrimaryKeyColumn && ((PrimaryKeyColumn)column).AutoIncrement ? " IDENTITY(1,1)" : "")
            + (column.Unique? " UNIQUE" : "")
            + (column.DefaultValue != null ? " DEFAULT " + this.FormatValueString(column.DefaultValue) : ""));
 }
        public static string ScriptForDropColumn(MigrationColumn column)
        {
            var script = Script.New();

            // if foreign key
            var foreignkeyColumn = column as ForeignKeyColumn;
            if (foreignkeyColumn != null)
            {
                script.Append(ScriptForDeleteForeignKey(foreignkeyColumn));
                script.AppendEmptyLine();
            }

            script.AppendLine("Delete.Column(\"{0}\").FromTable(\"{1}\")", column.Name, column.OwnerTable.Name);
            script.AppendSemicolon();


            return script.ToString();
        }
        public static string ScriptForCreateColumn(MigrationColumn column)
        {
            var script = Script.New();

            script.AppendLine("Create.Column(\"{0}\").OnTable(\"{1}\"){2}", column.Name, column.OwnerTable.Name, column.ScriptActions());
            script.AppendSemicolon();

            
            // if foreign key
            var foreignkeyColumn = column as ForeignKeyColumn;
            if (foreignkeyColumn != null)
            {
                script.AppendEmptyLine();
                script.Append(ScriptForCreateForeignKey(foreignkeyColumn));
            }


            return script.ToString();
        }
        public static string ScriptForDropColumn(MigrationColumn column)
        {
            var script = Script.New();

            // if foreign key
            var foreignkeyColumn = column as ForeignKeyColumn;

            if (foreignkeyColumn != null)
            {
                script.Append(ScriptForDeleteForeignKey(foreignkeyColumn));
                script.AppendEmptyLine();
            }

            script.AppendLine("Delete.Column(\"{0}\").FromTable(\"{1}\")", column.Name, column.OwnerTable.Name);
            script.AppendSemicolon();


            return(script.ToString());
        }
        public static string ScriptForCreateColumn(MigrationColumn column)
        {
            var script = Script.New();

            script.AppendLine("Create.Column(\"{0}\").OnTable(\"{1}\"){2}", column.Name, column.OwnerTable.Name, column.ScriptActions());
            script.AppendSemicolon();


            // if foreign key
            var foreignkeyColumn = column as ForeignKeyColumn;

            if (foreignkeyColumn != null)
            {
                script.AppendEmptyLine();
                script.Append(ScriptForCreateForeignKey(foreignkeyColumn));
            }


            return(script.ToString());
        }
Exemple #8
0
 public abstract string GetColumn(MigrationColumn column);
Exemple #9
0
 public virtual string GetModifyColumn(string tableName, MigrationColumn column)
 {
     return("ALTER TABLE " + this.FormatWithSchemaName(tableName) + " ALTER COLUMN " + this.GetColumn(column) + this.GetDefaultDelimiter());
 }
 public CreateColumnMigration(MigrationColumn column)
     :base(column.OwnerTable)
 {
     Column = column;
 }
        public static string ScriptForAlterColumn(MigrationColumn oldColumn, MigrationColumn newColumn)
        {
            var script = Script.New();

            var oldforeignkeyColumn = oldColumn as ForeignKeyColumn;
            var newforeignkeyColumn = newColumn as ForeignKeyColumn;
            if ((oldforeignkeyColumn != null && newforeignkeyColumn == null) // the column is no more a foreign key
               || (oldforeignkeyColumn != null && newforeignkeyColumn != null && oldforeignkeyColumn.ReferencedTableName != newforeignkeyColumn.ReferencedTableName))  // the foreign key has changed target
            
            {
                script.Append(ScriptForDeleteForeignKey(oldforeignkeyColumn));
                script.AppendEmptyLine();
            }

            script.AppendLine("// WARNING ! this column alteration might not work properly without specific data migration code");
            script.AppendLine("Alter.Column(\"{0}\").OnTable(\"{1}\"){2}", newColumn.Name, newColumn.OwnerTable.Name, newColumn.ScriptActions());
            script.AppendSemicolon();

            if ((oldforeignkeyColumn == null && newforeignkeyColumn != null) // the column has become a foreign key
                || (oldforeignkeyColumn != null && newforeignkeyColumn != null && oldforeignkeyColumn.ReferencedTableName != newforeignkeyColumn.ReferencedTableName))  // the foreign key has changed target
            
            {
                script.AppendEmptyLine();
                script.Append(ScriptForCreateForeignKey(newforeignkeyColumn));
                script.AppendEmptyLine();
            }

            return script.ToString();
        }
 public CreateColumnMigration(MigrationColumn column)
     : base(column.OwnerTable)
 {
     Column = column;
 }
Exemple #13
0
 public string GetModifedColumn(MigrationColumn column)
 {
     return(this.WrapWithQuotes(column.ColumnName) + " " + this.GetColumnType(column.ColumnType)
            + (column.Nullable ? " NULL" : " NOT NULL"));
 }
 public AlterColumnMigration(MigrationColumn oldColumn, MigrationColumn newColumn)
     : base(oldColumn.OwnerTable)
 {
     OldColumn = oldColumn;
     NewColumn = newColumn;
 }
 public override string GetModifyColumn(string tableName, MigrationColumn column)
 {
     return("ALTER TABLE " + this.FormatWithSchemaName(tableName) + " MODIFY COLUMN " + this.GetColumn(column) + ";\r");
 }
Exemple #16
0
 public AlterColumnMigration(MigrationColumn oldColumn, MigrationColumn newColumn)
     : base(oldColumn.OwnerTable)
 {
     OldColumn = oldColumn;
     NewColumn = newColumn;
 }