Deveel.Data.CommitTests.CreateTables C# (CSharp) Method

CreateTables() private method

private CreateTables ( IQuery query, string testsName ) : void
query IQuery
testsName string
return void
        private void CreateTables(IQuery query, string testsName)
        {
            var columns = new List<SqlTableColumn> {
                new SqlTableColumn("id", PrimitiveTypes.Integer()),
                new SqlTableColumn("name", PrimitiveTypes.String())
            };

            if (testsName.Equals("NotNullColumnViolation"))
                columns.Add(new SqlTableColumn("age", PrimitiveTypes.Integer()) {
                    IsNotNull = true
                });

            query.CreateTable(new ObjectName("a"), columns.ToArray());
            query.AddPrimaryKey(new ObjectName("a"), new []{"id"});
            query.AddUniqueKey(new ObjectName("a"), new[] {"name"});

            query.CreateTable(new ObjectName("b"), new SqlTableColumn("id", PrimitiveTypes.Integer()),
                new SqlTableColumn("other_id", PrimitiveTypes.Integer()));
            query.AddPrimaryKey(new ObjectName("b"), new[] {"id"});
            query.AddForeignKey(new ObjectName("b"), new[] {"other_id"}, new ObjectName("a"), new[] {"id"},
                ForeignKeyAction.Cascade, ForeignKeyAction.NoAction);
        }