public IDeleteForeignKeyFromTableSyntax ForeignKey() { var expression = new DeleteForeignKeyExpression(_context.CurrentDatabaseProvider, _databaseProviders, _sqlSyntax); _context.Expressions.Add(expression); return(new DeleteForeignKeyBuilder(expression)); }
public override string Generate(DeleteForeignKeyExpression expression) { return(string.Format( "ALTER TABLE {0} DROP CONSTRAINT {1};", Quoter.QuoteTableName(expression.ForeignKey.ForeignTable, expression.ForeignKey.ForeignTableSchema), Quoter.Quote(expression.ForeignKey.Name))); }
public IDeleteForeignKeyFromTableSyntax ForeignKey() { var expression = new DeleteForeignKeyExpression(); _context.Expressions.Add(expression); return(new DeleteForeignKeyExpressionBuilder(expression)); }
public static DeleteForeignKeyExpression GetDeleteForeignKeyExpression() { var expression = new DeleteForeignKeyExpression(); expression.ForeignKey.Name = "FK_Test"; expression.ForeignKey.ForeignTable = TestTableName1; return(expression); }
public IDeleteForeignKeyOnTableSyntax ForeignKey(string foreignKeyName) { var expression = new DeleteForeignKeyExpression { ForeignKey = { Name = foreignKeyName } }; _context.Expressions.Add(expression); return(new DeleteForeignKeyExpressionBuilder(expression)); }
/// <inheritdoc /> public IDeleteForeignKeyOnTableBuilder ForeignKey(string foreignKeyName) { var expression = new DeleteForeignKeyExpression(_context) { ForeignKey = { Name = foreignKeyName } }; return(new DeleteForeignKeyBuilder(expression)); }
public void WhenDefaultSchemaConventionIsChangedAndSchemaIsNotSetThenSetSchema() { var expression = new DeleteForeignKeyExpression(); var processed = expression.Apply(ConventionSets.WithSchemaName); Assert.That(processed.ForeignKey.ForeignTableSchema, Is.EqualTo("testdefault")); Assert.That(processed.ForeignKey.PrimaryTableSchema, Is.EqualTo("testdefault")); }
public override string Generate(DeleteForeignKeyExpression expression) { if (expression.ForeignKey.ForeignTable == null) { throw new ArgumentNullException("Table name not specified, ensure you have appended the OnTable extension. Format should be Delete.ForeignKey(KeyName).OnTable(TableName)"); } return(string.Format(DeleteConstraint, Quoter.QuoteTableName(expression.ForeignKey.ForeignTable), Quoter.QuoteColumnName(expression.ForeignKey.Name), CommandDelimiter)); }
public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsNotSetThenSchemaShouldBeNull() { var expression = new DeleteForeignKeyExpression(); var processed = expression.Apply(ConventionSets.NoSchemaName); Assert.That(processed.ForeignKey.ForeignTableSchema, Is.Null); Assert.That(processed.ForeignKey.PrimaryTableSchema, Is.Null); }
public IDeleteForeignKeyOnTableSyntax ForeignKey(string foreignKeyName) { var expression = new DeleteForeignKeyExpression(_context.CurrentDatabaseProvider, _databaseProviders, _sqlSyntax) { ForeignKey = { Name = foreignKeyName } }; _context.Expressions.Add(expression); return(new DeleteForeignKeyBuilder(expression)); }
public override string Generate(DeleteForeignKeyExpression expression) { if (expression.ForeignKey.ForeignTable == null) { throw new ArgumentNullException(nameof(expression), Dmt.ExpressionTableNameMissingWithHints); } return(string.Format(DeleteConstraint, Quoter.QuoteTableName(expression.ForeignKey.ForeignTable, expression.ForeignKey.ForeignTableSchema), Quoter.QuoteColumnName(expression.ForeignKey.Name))); }
public void CanDropForeignKey() { var expression = new DeleteForeignKeyExpression(); expression.ForeignKey.Name = "FK_Test"; expression.ForeignKey.ForeignTable = "TestPrimaryTable"; string sql = generator.Generate(expression); sql.ShouldBe("ALTER TABLE \"public\".\"TestPrimaryTable\" DROP CONSTRAINT \"FK_Test\""); }
public void CollectValidationErrorsShouldReturnErrorIfForeignTableNameIsNull() { var expression = new DeleteForeignKeyExpression { ForeignKey = new ForeignKeyDefinition { ForeignTable = null } }; var errors = ValidationHelper.CollectErrors(expression); errors.ShouldContain(ErrorMessages.ForeignTableNameCannotBeNullOrEmpty); }
public void CollectValidationErrorsShouldReturnNoErrorsIfForeignTableNameAndForeignKeyNameAreSet() { var expression = new DeleteForeignKeyExpression { ForeignKey = new ForeignKeyDefinition { ForeignTable = "ForeignTable", Name = "FK" } }; var errors = ValidationHelper.CollectErrors(expression); Assert.That(errors.Count, Is.EqualTo(0)); }
public void Delete_Foreign_Key_Should_Throw_Exception_If_Table_Name_Is_Null() { // Setup empty FK var deleteFKExpression = new DeleteForeignKeyExpression(); var fkDef = new ForeignKeyDefinition(); deleteFKExpression.ForeignKey = fkDef; // Setup empty mock object var mockGenerator = new MockGenerator(null, null); Assert.Throws <ArgumentNullException>(() => mockGenerator.Generate(deleteFKExpression)); }
public void WhenDefaultSchemaConventionIsAppliedAndSchemaIsSetThenSchemaShouldNotBeChanged() { var expression = new DeleteForeignKeyExpression() { ForeignKey = { ForeignTableSchema = "testschema", PrimaryTableSchema = "testschema", }, }; var processed = expression.Apply(ConventionSets.WithSchemaName); Assert.That(processed.ForeignKey.ForeignTableSchema, Is.EqualTo("testschema")); Assert.That(processed.ForeignKey.PrimaryTableSchema, Is.EqualTo("testschema")); }
public void CollectValidationErrorsShouldReturnErrorsIfForeignColumnsAreSetButNotPrimaryTable() { var expression = new DeleteForeignKeyExpression { ForeignKey = new ForeignKeyDefinition { ForeignColumns = new Collection <string> { "User_id" }, ForeignTable = "UserRoles", Name = "FK" } }; var errors = ValidationHelper.CollectErrors(expression); errors.ShouldContain(ErrorMessages.PrimaryTableNameCannotBeNullOrEmpty); }
public void CollectValidationErrorsShouldReturnErrorsIfForeignColumnsAreSetButNotPrimaryColumns() { var expression = new DeleteForeignKeyExpression { ForeignKey = new ForeignKeyDefinition { ForeignColumns = new Collection <string> { "User_id" }, ForeignTable = "UserRoles", PrimaryTable = "User", Name = "FK" } }; var errors = ValidationHelper.CollectErrors(expression); errors.ShouldContain(ErrorMessages.ForeignKeyMustHaveOneOrMorePrimaryColumns); }
public void CollectValidationErrorsShouldReturnNoErrorsIfAllPropertiesAreSet() { var expression = new DeleteForeignKeyExpression { ForeignKey = new ForeignKeyDefinition { ForeignColumns = new Collection <string> { "User_id" }, ForeignTable = "UserRoles", PrimaryColumns = new Collection <string> { "Id" }, PrimaryTable = "User", Name = "FK" } }; var errors = ValidationHelper.CollectErrors(expression); Assert.That(errors.Count, Is.EqualTo(0)); }
public void ReverseReturnsDeleteForeignKeyExpression() { var expression = new DeleteForeignKeyExpression { ForeignKey = new ForeignKeyDefinition { ForeignColumns = new Collection <string> { "User_id" }, ForeignTable = "UserRoles", PrimaryColumns = new Collection <string> { "Id" }, PrimaryTable = "User", Name = "FK" } }; var reverse = expression.Reverse(); reverse.ShouldBeOfType <CreateForeignKeyExpression>(); }
public void ReverseReturnsDeleteForeignKeyExpressionAfterApplyingConventions() { var expression = new DeleteForeignKeyExpression { ForeignKey = new ForeignKeyDefinition { ForeignColumns = new Collection <string> { "User_id" }, ForeignTable = "UserRoles", PrimaryColumns = new Collection <string> { "Id" }, PrimaryTable = "User", } }; expression.ApplyConventions(new MigrationConventions()); var reverse = expression.Reverse(); reverse.ShouldBeOfType <CreateForeignKeyExpression>(); }
public void ReverseReturnsDeleteForeignKeyExpressionAfterApplyingConventions() { var expression = new DeleteForeignKeyExpression { ForeignKey = new ForeignKeyDefinition { ForeignColumns = new Collection <string> { "User_id" }, ForeignTable = "UserRoles", PrimaryColumns = new Collection <string> { "Id" }, PrimaryTable = "User", } }; var processed = expression.Apply(ConventionSets.WithSchemaName); var reverse = processed.Reverse(); reverse.ShouldBeOfType <CreateForeignKeyExpression>(); }
public void ReverseSetsForeignTableAndForeignColumnsAndPrimaryTableAndPrimaryColumnsAOnGeneratedExpression() { var expression = new DeleteForeignKeyExpression { ForeignKey = new ForeignKeyDefinition { ForeignColumns = new Collection <string> { "ForeignId" }, ForeignTable = "UserRoles", PrimaryColumns = new Collection <string> { "PrimaryId" }, PrimaryTable = "User", } }; var reverse = expression.Reverse() as CreateForeignKeyExpression; reverse.ForeignKey.ForeignTable.ShouldBe("User"); reverse.ForeignKey.PrimaryTable.ShouldBe("UserRoles"); reverse.ForeignKey.ForeignColumns.First().ShouldBe("PrimaryId"); reverse.ForeignKey.PrimaryColumns.First().ShouldBe("ForeignId"); }
public override string Generate(DeleteForeignKeyExpression expression) { return(string.Format("ALTER TABLE {0}.{1}", Quoter.QuoteSchemaName(expression.ForeignKey.ForeignTableSchema), base.Generate(expression))); }
public override string Generate(DeleteForeignKeyExpression expression) { return(CompatibilityMode.HandleCompatibilty("Foreign keys are not supported in SQLite")); }
public override void Process(DeleteForeignKeyExpression expression) { truncator.Truncate(expression); RegisterExpression <DeleteForeignKeyExpression>(expression); InternalProcess(Generator.Generate(expression)); }
public abstract string Generate(DeleteForeignKeyExpression expression);
public virtual void Process(DeleteForeignKeyExpression expression) { Process(Generator.Generate(expression)); }
public override string Generate(DeleteForeignKeyExpression expression) { return(string.Format(DeleteConstraint, Quoter.QuoteTableName(expression.ForeignKey.ForeignTable), "FOREIGN KEY ", Quoter.QuoteColumnName(expression.ForeignKey.Name))); }
public override string Generate(DeleteForeignKeyExpression expression) { Truncator.Truncate(expression); return(base.Generate(expression)); }
public override string Generate(DeleteForeignKeyExpression expression) { return string.Format(DeleteConstraint, Quoter.QuoteTableName(expression.ForeignKey.ForeignTable), "FOREIGN KEY ", Quoter.QuoteColumnName(expression.ForeignKey.Name)); }