graphql-engine/server/tests-py/queries/graphql_query/boolexp/basic/setup.yaml

212 lines
3.7 KiB
YAML
Raw Normal View History

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
);
- type: track_table
args:
schema: public
name: author
#Article table
- type: run_sql
args:
sql: |
CREATE TABLE article (
id SERIAL PRIMARY KEY,
title TEXT,
content TEXT,
author_id INTEGER REFERENCES author(id),
is_published BOOLEAN,
published_on TIMESTAMP
)
- type: track_table
args:
schema: public
name: article
#Article table
- type: run_sql
args:
sql: |
CREATE TABLE city (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
country TEXT NOT NULL
)
- type: track_table
args:
schema: public
name: city
#Set timezone
- type: run_sql
args:
sql: |
SET TIME ZONE 'UTC';
#Article order
- type: run_sql
args:
sql: |
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
received_at TIMESTAMP WITH TIME ZONE NOT NULL,
delivered_at TIMESTAMP WITH TIME ZONE
)
- 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: run_sql
args:
sql: |
CREATE TABLE message (
id int PRIMARY KEY,
content TEXT NOT NULL,
parent_id INT NULL
);
alter table message
add constraint parent_fk foreign key (parent_id)
references message(id)
- 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
#Insert messages
- type: insert
args:
table: message
objects:
- id: 1
content: "hello world"
parent_id: null
- id: 2
content: "content 2"
parent_id: 1
- id: 3
content: "content 3"
parent_id: 1
- id: 4
content: "ahoy"
parent_id: null
- id: 5
content: "content 5"
parent_id: 4
- id: 6
content: "hello there"
parent_id: 4
#Insert Authors
- type: insert
args:
table: author
objects:
- name: Author 1
is_registered: true
- name: Author 2
is_registered: true
- name: Author 3
is_registered: false
- type: run_sql
args:
sql: |
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
)
- type: insert
args:
table: city
objects:
- name: Durham
country: USA
- name: New York
country: USA
- name: Framlingham
country: UK
- name: New Orleans
country: USA
- 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'