2018-10-04 15:44:15 +03:00
|
|
|
type: bulk
|
|
|
|
args:
|
|
|
|
|
|
|
|
#Author table
|
|
|
|
- type: run_sql
|
|
|
|
args:
|
|
|
|
sql: |
|
|
|
|
create table author(
|
2018-11-16 15:40:23 +03:00
|
|
|
id serial primary key,
|
2018-10-04 15:44:15 +03:00
|
|
|
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
|
|
|
|
|
|
|
|
|
2018-11-16 15:40:23 +03:00
|
|
|
#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
|
|
|
|
|
2018-10-04 15:44:15 +03:00
|
|
|
#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
|
2018-11-16 15:40:23 +03:00
|
|
|
country: USA
|
2018-10-04 15:44:15 +03:00
|
|
|
- name: New York
|
|
|
|
country: USA
|
|
|
|
- name: Framlingham
|
|
|
|
country: UK
|
2018-11-16 15:40:23 +03:00
|
|
|
- name: New Orleans
|
2018-10-04 15:44:15 +03:00
|
|
|
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'
|