public override void CanCreateNamedForeignKeyWithDifferentSchemas() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.ForeignTableSchema = "TestSchema"; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE [TestSchema].[TestTable1] ADD CONSTRAINT [FK_Test] FOREIGN KEY ([TestColumn1]) REFERENCES [dbo].[TestTable2] ([TestColumn2])"); }
public override void CanCreateNamedForeignKeyWithOnUpdateOptions(Rule rule, string output) { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.OnUpdate = rule; var result = Generator.Generate(expression); result.ShouldBe(string.Empty); }
public override void CanCreateNamedForeignKeyWithOnUpdateOptions(Rule rule, string output) { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.OnUpdate = rule; var result = Generator.Generate(expression); result.ShouldBe(string.Format("ALTER TABLE \"public\".\"TestTable1\" ADD CONSTRAINT \"FK_Test\" FOREIGN KEY (\"TestColumn1\") REFERENCES \"public\".\"TestTable2\" (\"TestColumn2\") ON UPDATE {0};", output)); }
public override void CanCreateNamedForeignKeyWithDifferentSchemas() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.ForeignTableSchema = "TestSchema"; var result = Generator.Generate(expression); result.ShouldBe(string.Empty); }
public override void CanCreateNamedForeignKeyWithDifferentSchemas() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.ForeignTableSchema = "TestSchema"; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE TestSchema.TestTable1 ADD CONSTRAINT TestSchema.FK_Test FOREIGN KEY (TestColumn1) REFERENCES TestTable2 (TestColumn2)"); }
public override void CanCreateNamedForeignKeyWithOnDeleteOptions(Rule rule, string output) { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.OnDelete = rule; var result = Generator.Generate(expression); result.ShouldBe(string.Format("ALTER TABLE TestTable1 ADD CONSTRAINT FK_Test FOREIGN KEY (TestColumn1) REFERENCES TestTable2 (TestColumn2) ON DELETE {0}", output)); }
public override void CanCreateNamedForeignKeyWithDefaultSchema() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE \"TestTable1\" ADD CONSTRAINT \"FK_Test\" " + "FOREIGN KEY (\"TestColumn1\") " + "REFERENCES \"TestTable2\" (\"TestColumn2\");"); }
public override void CanCreateNamedForeignKeyWithOnUpdateOptions(Rule rule, string output) { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.OnUpdate = rule; var result = Generator.Generate(expression); result.ShouldBe(string.Format("ALTER TABLE [dbo].[TestTable1] ADD CONSTRAINT [FK_Test] FOREIGN KEY ([TestColumn1]) REFERENCES [dbo].[TestTable2] ([TestColumn2]) ON UPDATE {0}", output)); }
public override void CanCreateNamedForeignKeyWithDifferentSchemas() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.ForeignTableSchema = "TestSchema"; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE \"TestSchema\".\"TestTable1\" ADD CONSTRAINT \"FK_Test\" FOREIGN KEY (\"TestColumn1\") REFERENCES \"TestTable2\" (\"TestColumn2\")"); }
public override void CanCreateNamedForeignKeyWithOnDeleteAndOnUpdateOptions() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.OnDelete = Rule.Cascade; expression.ForeignKey.OnUpdate = Rule.SetDefault; var result = Generator.Generate(expression); result.ShouldBe(string.Empty); }
public override void CanCreateNamedForeignKeyWithOnDeleteAndOnUpdateOptions() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.OnDelete = Rule.Cascade; expression.ForeignKey.OnUpdate = Rule.None; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE TestTable1 ADD CONSTRAINT FK_Test FOREIGN KEY (TestColumn1) REFERENCES TestTable2 (TestColumn2) ON DELETE CASCADE"); }
public override void CanCreateNamedForeignKeyWithOnDeleteAndOnUpdateOptions() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.OnDelete = Rule.Cascade; expression.ForeignKey.OnUpdate = Rule.SetDefault; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE [dbo].[TestTable1] ADD CONSTRAINT [FK_Test] FOREIGN KEY ([TestColumn1]) REFERENCES [dbo].[TestTable2] ([TestColumn2]) ON DELETE CASCADE ON UPDATE SET DEFAULT"); }
public override void CanCreateNamedForeignKeyWithCustomSchema() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.ForeignTableSchema = "TestSchema"; expression.ForeignKey.PrimaryTableSchema = "TestSchema"; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE `TestTable1` ADD CONSTRAINT `FK_Test` FOREIGN KEY (`TestColumn1`) REFERENCES `TestTable2` (`TestColumn2`)"); }
public override void CanCreateNamedForeignKeyWithOnDeleteAndOnUpdateOptions() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.OnDelete = Rule.Cascade; expression.ForeignKey.OnUpdate = Rule.SetDefault; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE \"public\".\"TestTable1\" ADD CONSTRAINT \"FK_Test\" FOREIGN KEY (\"TestColumn1\") REFERENCES \"public\".\"TestTable2\" (\"TestColumn2\") ON DELETE CASCADE ON UPDATE SET DEFAULT;"); }
public override void CanCreateNamedForeignKeyWithDifferentSchemas() { Assert.Ignore("HANA does not support schema like us know schema in hana is a database name"); var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); expression.ForeignKey.ForeignTableSchema = "TestSchema"; var result = Generator.Generate(expression); result.ShouldBe("ALTER TABLE \"TestTable1\" ADD CONSTRAINT \"FK_Test\" " + "FOREIGN KEY (\"TestColumn1\") " + "REFERENCES \"TestTable2\" (\"TestColumn2\")"); }
public override void CanCreateNamedForeignKeyWithDefaultSchema() { var expression = GeneratorTestHelper.GetCreateNamedForeignKeyExpression(); Assert.Throws <DatabaseOperationNotSupportedException>(() => Generator.Generate(expression)); }
public void CanCreateForeignKeyInStrictMode() { Generator.compatabilityMode = CompatabilityMode.STRICT; Assert.Throws <DatabaseOperationNotSupportedException>(() => Generator.Generate(GeneratorTestHelper.GetCreateNamedForeignKeyExpression())); }