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()); }
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()); }
public abstract string GetColumn(MigrationColumn column);
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; }
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"); }