public override void AddForeignKey(string name, string primaryTable, string[] primaryColumns, string refTable, string[] refColumns, Migrator.Framework.ForeignKeyConstraint constraint) { if (ConstraintExists(primaryTable, name)) { Logger.Warn("Constraint {0} already exists", name); return; } ExecuteNonQuery( String.Format( "ALTER TABLE {0} ADD CONSTRAINT {1} FOREIGN KEY ({2}) REFERENCES {3} ({4})", primaryTable, name, String.Join(",", primaryColumns), refTable, String.Join(",", refColumns))); }
public virtual void AddForeignKey(string name, string primaryTable, string[] primaryColumns, string refTable, string[] refColumns, ForeignKeyConstraint constraint) { if (ConstraintExists(primaryTable, name)) { Logger.Warn("Constraint {0} already exists", name); return; } string constraintResolved = constraintMapper.SqlForConstraint(constraint); ExecuteNonQuery( String.Format( "ALTER TABLE {0} ADD CONSTRAINT {1} FOREIGN KEY ({2}) REFERENCES {3} ({4}) ON UPDATE {5} ON DELETE {6}", primaryTable, name, String.Join(",", primaryColumns), refTable, String.Join(",", refColumns), constraintResolved, constraintResolved)); }
public override void AddForeignKey(string name, string primaryTable, string[] primaryColumns, string refTable, string[] refColumns, ForeignKeyConstraint constraint) { GuardAgainstMaximumIdentifierLengthForOracle(name); if (ConstraintExists(primaryTable, name)) { Logger.Warn("Constraint {0} already exists", name); return; } primaryTable = QuoteTableNameIfRequired(primaryTable); refTable = QuoteTableNameIfRequired(refTable); string primaryColumnsSql = String.Join(",", primaryColumns.Select(col => QuoteColumnNameIfRequired(col)).ToArray()); string refColumnsSql = String.Join(",", refColumns.Select(col => QuoteColumnNameIfRequired(col)).ToArray()); ExecuteNonQuery(String.Format("ALTER TABLE {0} ADD CONSTRAINT {1} FOREIGN KEY ({2}) REFERENCES {3} ({4})", primaryTable, name, primaryColumnsSql, refTable, refColumnsSql)); }
GenerateForeignKey(primaryTable, refTable, ForeignKeyConstraint.NoAction); } public void GenerateForeignKey(string primaryTable, string refTable, ForeignKeyConstraint constraint)
public virtual void AddForeignKey(string name, string primaryTable, string primaryColumn, string refTable, string refColumn, ForeignKeyConstraint constraint) { AddForeignKey(name, primaryTable, new string[] { primaryColumn }, refTable, new string[] { refColumn }, constraint); }
/// <summary> /// Guesses the name of the foreign key and add it /// </see> /// </summary> public virtual void GenerateForeignKey(string primaryTable, string[] primaryColumns, string refTable, string[] refColumns, ForeignKeyConstraint constraint) { AddForeignKey("FK_" + primaryTable + "_" + refTable, primaryTable, primaryColumns, refTable, refColumns, constraint); }
public void GenerateForeignKey(string primaryTable, string refTable, ForeignKeyConstraint constraint) { // No Op }
public void AddForeignKey(string name, string primaryTable, string[] primaryColumns, string refTable, string[] refColumns, ForeignKeyConstraint constraint) { // No Op }
public void GenerateForeignKey(string primaryTable, string refTable, ForeignKeyConstraint constraint) { GenerateForeignKey(primaryTable, refTable + "Id", refTable, "Id", constraint); }
public void AddForeignKey(string name, string foreignTable, string foreignColumn, string primaryTable, string primaryColumn, ForeignKeyConstraint constraint) { _sqlServerTransformationProvider.AddForeignKey(name, foreignTable, foreignColumn, primaryTable, primaryColumn, constraint); }
public override void AddForeignKey(string name, string primaryTable, string[] primaryColumns, string refTable, string[] refColumns, ForeignKeyConstraint constraint) { // NOOP Because SQLite doesn't support foreign keys }
public void GenerateForeignKey(string foreignTable, string primaryTable, ForeignKeyConstraint constraint) { _sqlServerTransformationProvider.GenerateForeignKey(foreignTable, primaryTable, constraint); }