/// <summary> /// Create a foreign columnName to the table <paramref name="primaryTableName"/><br/> /// ------------------------------------------------------------------ <br/> /// If <paramref name="columnName"/> is specified, the new column-name will follow that value<br/> /// If <paramref name="columnName"/> is unspecified, the new column-name will be computed<br/> /// <br/> /// If <paramref name="primaryColumnName"/> is specified, the primary-table-column will follow that value<br/> /// If <paramref name="primaryColumnName"/> is unspecified, the primary-table-column will be computed<br/> /// <br/> /// i.e:<br/> /// <paramref name="columnName"/> is unspecified and <paramref name="primaryTableName"/> is "Parent" => column-name will be computed to "ParentId"<br/> /// <br/> /// <paramref name="primaryColumnName"/> is unspecified => the primary-table-column will be "Id"<br/> /// </summary> /// <param name="syntax"></param> /// <param name="primaryTableName"></param> /// <param name="migration"></param> /// <param name="columnName"></param> /// <param name="primaryColumnName"></param> /// <param name="errors"></param> /// <returns></returns> public static ICreateTableColumnAsTypeSyntax WithForeignKeyColumn( this ICreateTableWithColumnSyntax syntax, string primaryTableName, MigrationModel migration, string columnName = null, string primaryColumnName = null, params int[] errors) { return(syntax.WithForeignKeyColumn(primaryTableName, migration, migration.SchemaPrefixId, columnName, primaryColumnName, errors)); }
public static TNext AsDatabaseBlob <TNext>(this IColumnTypeSyntax <TNext> column, MigrationModel model) where TNext : IFluentSyntax { return(model.AsDatabaseBlob(column)); }
// ReSharper disable once UnusedMember.Global /// <summary> /// return Primary Key name /// </summary> /// <param name="migration"></param> /// <param name="primaryTableName"></param> /// <param name="idColumn"></param> /// <returns></returns> public static string GeneratePkName(this MigrationModel migration, string primaryTableName, string idColumn) { return(migration.GeneratePkName(primaryTableName, idColumn, migration.SchemaPrefixId)); }
/// <summary> /// Create a Sequence with name {syntax.TableName}_seq <br/> /// If SchemaPrefix is defined in <paramref name="migration"/>, the name will be {SchemaPrefix}{syntax.TableName}_seq /// </summary> /// <param name="syntax"></param> /// <param name="migration"></param> /// <returns></returns> public static ICreateSequenceSyntax WithTableSequence( this ICreateTableColumnOptionOrWithColumnSyntax syntax, MigrationModel migration) { return(WithTableSequence(syntax, migration, migration.SchemaPrefixId)); }
/// <summary> /// Set datetime dataType (depended of type of database) /// </summary> /// <param name="syntax"></param> /// <param name="model"></param> /// <typeparam name="TNext"></typeparam> /// <returns></returns> // ReSharper disable once UnusedMember.Global public static TNext AsDatabaseDateTime <TNext>(this IColumnTypeSyntax <TNext> syntax, MigrationModel model) where TNext : IFluentSyntax { return(model.AsDatabaseDateTime(syntax)); }
/// <summary> /// Add foreign column on table specified in <paramref name="syntax"/>. Referenced table will be <paramref name="primaryTableName"/><br/> /// If SchemaPrefixId is defined in <paramref name="migration"/>, the referenced table will be computed to {SchemaPrefixId}{<paramref name="primaryTableName"/>} /// </summary> /// <param name="syntax"></param> /// <param name="primaryTableName"></param> /// <param name="migration"></param> /// <returns><see cref="IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax"/></returns> // ReSharper disable once UnusedMember.Global public static IAlterTableColumnOptionOrAddColumnOrAlterColumnSyntax AddForeignKey(this IAlterTableAddColumnOrAlterColumnSyntax syntax, string primaryTableName, MigrationModel migration) { return(syntax.AddForeignKey(primaryTableName, migration, migration.SchemaPrefixId)); }