type: bulk args: #Author table - type: run_sql args: sql: | create table author( id serial primary key, name text unique, is_registered boolean not null default false ); INSERT INTO author(name, is_registered) VALUES ('Author 1', true), ('Author 2', true), ('Author 3', false); CREATE TABLE article ( id SERIAL PRIMARY KEY, title TEXT, content TEXT, author_id INTEGER REFERENCES author(id), is_published BOOLEAN, published_on TIMESTAMP ); CREATE TABLE city ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, country TEXT NOT NULL ); INSERT INTO city (name, country) VALUES ('Durham', 'USA'), ('New York', 'USA'), ('Framlingham', 'UK'), ('New Orleans', 'USA'); SET TIME ZONE 'UTC'; CREATE TABLE orders ( id SERIAL PRIMARY KEY, received_at TIMESTAMP WITH TIME ZONE NOT NULL, delivered_at TIMESTAMP WITH TIME ZONE ); CREATE TABLE message ( id int PRIMARY KEY, content TEXT NOT NULL, parent_id INT NULL ); INSERT INTO message (id, content, parent_id) VALUES ( 1, 'hello world', default ), ( 2, 'content 2', 1 ), ( 3, 'content 3', 1 ), ( 4, 'ahoy', default ), ( 5, 'content 5', 4 ), ( 6, 'hello three', 4 ); alter table message add constraint parent_fk foreign key (parent_id) references message(id); insert into article (title,content,author_id,is_published) values ( 'Article 1', 'Sample article content 1', 1, false ), ( 'Article 2', 'Sample article content 2', 1, true ), ( 'Article 3', 'Sample article content 3', 2, false ), ( 'Article 4', 'Sample article content 4', 3, true ); CREATE TABLE "uuid_test" ( id serial primary key, uuid_col UUID NOT NULL ); create table "user" ( id serial primary key, name text not null unique, is_admin boolean default false ); insert into "user" (name, is_admin) values ('user_1', false), ('user_2', true) ; create table account ( id serial primary key, account_no integer not null unique ); insert into account (account_no) values (1), (2) ; CREATE TABLE table_with_sql_identifier ( id serial PRIMARY KEY , sql_id information_schema.sql_identifier ); INSERT INTO table_with_sql_identifier (sql_id) VALUES ('one'), ('one'), ('two'), ('three'), ('four'), ('one'), ('two'); - type: track_table args: schema: public name: author #Article table - type: track_table args: schema: public name: article #Article table - type: track_table args: schema: public name: city #Set timezone - type: track_table args: schema: public name: orders #Object relationship - type: create_object_relationship args: table: article name: author using: foreign_key_constraint_on: author_id #Array relationship - type: create_array_relationship args: table: author name: articles using: foreign_key_constraint_on: table: article column: author_id #Message table - type: track_table args: schema: public name: message # parent obj rel - type: create_object_relationship args: table: message name: parent using: foreign_key_constraint_on: parent_id # children array rel - type: create_array_relationship args: table: message name: children using: foreign_key_constraint_on: table: message column: parent_id - type: insert args: table: orders objects: - received_at: '2018-09-21T09:39:44Z' - received_at: '2018-09-21T09:40:44Z' delivered_at: '2018-09-21T09:50:44Z' - type: track_table args: name: uuid_test schema: public - type: insert args: table: uuid_test objects: - uuid_col: 28d6d683-1317-49f7-b1cf-7d195242e4e5 - uuid_col: 28d6d683-1317-49f7-b1cf-7d195242e4e6 - uuid_col: 28d6d683-1317-49f7-b1cf-7d195242e4e7 # Tables to test '_exist' field - type: track_table args: name: user schema: public - type: track_table args: name: account schema: public - type: create_select_permission args: table: account role: user permission: columns: - id - account_no filter: _exists: _table: user _where: id: X-Hasura-User-Id is_admin: true - type: track_table args: table_with_sql_identifier