public override string RenameRelationQuery(NoDbTable table, NoDbRelation oldRelation, NoDbRelation newRelation) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendFormat("EXEC sp_rename N'{2}.{0}', N'{1}';", Escape(oldRelation.Name), Escape(newRelation.Name)); return(stringBuilder.ToString()); }
public override string RenameRelationQuery(NoDbTable table, NoDbRelation oldRelation, NoDbRelation newRelation) { string schema = GetSchema(table); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendFormat("ALTER TABLE {3}.{0} RENAME CONSTRAINT {1} TO {2}", Escape(table.Detail.GetTableDbName()), Escape(oldRelation.Name), Escape(newRelation.Name), schema); return(stringBuilder.ToString()); }
public override string DeleteRelationQuery(NoDbTable table, NoDbRelation relation) { string schema = GetSchema(table); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendFormat("ALTER TABLE {2}.{0} DROP CONSTRAINT {1};", Escape(table.Detail.GetTableDbName()), Escape(relation.Name), schema); return(stringBuilder.ToString()); }
public override string RenameRelationQuery(NoDbTable table, NoDbRelation oldRelation, NoDbRelation newRelation) { string schema = GetSchema(table); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendFormat(DeleteRelationQuery(table, oldRelation) + "\n"); stringBuilder.AppendFormat(CreateRelationQuery(table, newRelation)); return(stringBuilder.ToString()); }
public override string CreateRelationQuery(NoDbTable table, NoDbRelation relation) { string schema = GetSchema(table); StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendFormat("ALTER TABLE {2}.{0} ADD CONSTRAINT {1}\n", Escape(table.Detail.GetTableDbName()), Escape(relation.Name), schema); stringBuilder.AppendFormat("FOREIGN KEY ({0}) REFERENCES {3}.{1} ({2})\n", string.Join(",", relation.Items.Select(x => Escape(x.ColumnName))), Escape(relation.ForeignTable), string.Join(",", relation.Items.Select(x => Escape(x.ForeignColumn))), schema ); stringBuilder.AppendFormat("ON DELETE {0}\nON UPDATE {1};", ToRule(relation.DeleteRule), ToRule(relation.UpdateRule)); return(stringBuilder.ToString()); }
public abstract string RenameRelationQuery(NoDbTable table, NoDbRelation oldRelation, NoDbRelation newRelation);
public abstract string DeleteRelationQuery(NoDbTable table, NoDbRelation relation);