protected override bool OnSetUp(string testName, IQuery query)
{
var tableName1 = ObjectName.Parse("APP.test_table");
query.Access().CreateTable(table => table
.Named(tableName1)
.WithColumn(column => column
.Named("id")
.HavingType(PrimitiveTypes.Integer())
.WithDefault(SqlExpression.FunctionCall("UNIQUEKEY",
new SqlExpression[] {SqlExpression.Constant(tableName1.FullName)})))
.WithColumn("first_name", PrimitiveTypes.String())
.WithColumn("last_name", PrimitiveTypes.String())
.WithColumn("birth_date", PrimitiveTypes.DateTime())
.WithColumn("active", PrimitiveTypes.Boolean()));
query.Access().AddPrimaryKey(tableName1, "id", "PK_TEST_TABLE");
var tableName2 = ObjectName.Parse("APP.test_table2");
query.Access().CreateTable(table => table
.Named(tableName2)
.WithColumn(column => column
.Named("person_id")
.HavingType(PrimitiveTypes.Integer())
.NotNull(testName.Equals("SetNullOnDeleteViolation")))
.WithColumn("value", PrimitiveTypes.Boolean()));
if (testName == "DropConstraint" ||
testName == "DropReferencedColumn") {
query.Session.Access().AddForeignKey(tableName2, new string[] {"person_id"}, tableName1,
new[] {"id"}, ForeignKeyAction.Cascade, ForeignKeyAction.Cascade, "FK_1");
}
return true;
}