Deveel.Data.AlterTableTests.OnSetUp C# (CSharp) Method

OnSetUp() protected method

protected OnSetUp ( string testName, IQuery query ) : bool
testName string
query IQuery
return bool
        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;
        }