public static ITransformationProvider AddManyToManyJoiningTable(this ITransformationProvider database, string schema, string lhsTableName, string lhsKey, string rhsTableName, string rhsKey, string joiningTableName) { string joiningTableWithSchema = TransformationProviderUtility.FormatTableName(schema, joiningTableName); string joinLhsKey = Inflector.Singularize(lhsTableName) + "Id"; string joinRhsKey = Inflector.Singularize(rhsTableName) + "Id"; database.AddTable(joiningTableWithSchema, new Column(joinLhsKey, DbType.Guid, ColumnProperty.NotNull), new Column(joinRhsKey, DbType.Guid, ColumnProperty.NotNull)); string pkName = "PK_" + joiningTableName; pkName = ShortenKeyNameToBeSuitableForOracle(pkName); database.AddPrimaryKey(pkName, joiningTableWithSchema, joinLhsKey, joinRhsKey); string lhsTableNameWithSchema = TransformationProviderUtility.FormatTableName(schema, lhsTableName); string rhsTableNameWithSchema = TransformationProviderUtility.FormatTableName(schema, rhsTableName); string lhsFkName = TransformationProviderUtility.CreateForeignKeyName(lhsTableName, joiningTableName); database.AddForeignKey(lhsFkName, joiningTableWithSchema, joinLhsKey, lhsTableNameWithSchema, lhsKey, ForeignKeyConstraintType.NoAction); string rhsFkName = TransformationProviderUtility.CreateForeignKeyName(rhsTableName, joiningTableName); database.AddForeignKey(rhsFkName, joiningTableWithSchema, joinRhsKey, rhsTableNameWithSchema, rhsKey, ForeignKeyConstraintType.NoAction); return(database); }
public static void AddForeignKey(this ITransformationProvider migration, string foreignTable, string primaryTable) { migration.AddForeignKey(migration.ForeignKeyName(foreignTable, primaryTable), foreignTable, primaryTable + "Id", primaryTable, "Id"); }
public static void AddForeignKey(this ITransformationProvider migration, string foreignTable, string foreignColumn, string primaryTable, string primaryColumn) { migration.AddForeignKey(migration.ForeignKeyName(foreignTable, foreignColumn, primaryTable, primaryColumn), foreignTable, foreignColumn, primaryTable, primaryColumn); }
/// <summary> /// Adds foreign key and foreign key column if specified. /// </summary> /// <param name="database">The database.</param> public override void Migrate(ITransformationProvider database) { if (GenerateColumn) { database.AddColumn(ForeignKeyTable, GetColumn()); } database.AddForeignKey(Name, ForeignKeyTable, new[] { ForeignKeyColumn }, PrimaryKeyTable, new[] { PrimaryKeyColumn }, DeleteConstraint, UpdateConstraint); }
/// <summary> /// Adds foreign key and foreign key column if specified. /// </summary> /// <param name="database">The database.</param> public override void Migrate(ITransformationProvider database) { if (GenerateColumn) { database.AddColumn(ForeignKeyTable, GetColumn()); } database.AddForeignKey(Name, ForeignKeyTable, new[] {ForeignKeyColumn}, PrimaryKeyTable, new[] {PrimaryKeyColumn}, DeleteConstraint, UpdateConstraint); }
public static void AddForeignKey(this ITransformationProvider provider, string foreignTable, string primaryTable, ForeignKeyConstraint constraint = ForeignKeyConstraint.NoAction) { provider.AddForeignKey(foreignTable.ForeignKeyNameTo(primaryTable), foreignTable, primaryTable.ForeignId(), primaryTable, "Id", constraint); }
public void Create(ITransformationProvider provider) { provider.AddColumn(_toTable, _column.Name, _column.Type, _column.Size, _column.ColumnProperty, _column.DefaultValue); if (_column.ForeignKey != null) { provider.AddForeignKey( "FK_" + _toTable + "_" + _column.Name + "_" + _column.ForeignKey.PrimaryTable + "_" + _column.ForeignKey.PrimaryKey, _toTable, _column.Name, _column.ForeignKey.PrimaryTable, _column.ForeignKey.PrimaryKey, _column.Constraint); } }
public void Create(ITransformationProvider provider) { provider.AddColumn(_toTable, _column.Name, _column.ColumnType, _column.ColumnProperty, _column.DefaultValue); if (_column.ForeignKey != null) { provider.AddForeignKey( "FK_" + _toTable + "_" + _column.Name + "_" + _column.ForeignKey.PrimaryTable + "_" + _column.ForeignKey.PrimaryKey, _toTable, _column.Name, _column.ForeignKey.PrimaryTable, _column.ForeignKey.PrimaryKey, _column.Constraint); } }
public override void Execute(ITransformationProvider provider) { provider.AddForeignKey(this.Name, Table.Name, this.FkColumns.ToArray(), this.PkTable, this.PkColumns.ToArray(), Constraint ?? ForeignKeyConstraint.NoAction); }