graphql-engine/server/tests-py/queries/graphql_query/mysql/schema_setup_mysql.yaml

71 lines
1.9 KiB
YAML
Raw Normal View History

# For MySQL, every statement ends with a `;\n` (that's a semicolon followed by a newline), and
# it cannot parse the next if a new statement follows after an indentation, like we normal write
# for other backends. So breaking apart the requests into individual statements turned out to be
# the ergonomic way to make this work.
# Also tried typical YAML multi-line (block) syntax in all combinations `|`, `>` with `+` and `-`,
# including specification of the indentation levels with numbers, without success.
type: bulk
args:
- type: mysql_run_sql
args:
source: mysql
sql: |
DROP TABLE IF EXISTS article;
- type: mysql_run_sql
args:
source: mysql
sql: |
DROP TABLE IF EXISTS author;
- type: mysql_run_sql
args:
source: mysql
sql: |
CREATE TABLE author
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(450) UNIQUE KEY,
createdAt DATETIME
);
- type: mysql_run_sql
args:
source: mysql
sql: |
INSERT INTO author
(name, createdAt)
VALUES
( 'Author 1', '2017-09-21T09:39:44' ),
( 'Author 2', '2017-09-21T09:50:44' );
- type: mysql_run_sql
args:
source: mysql
sql: |
CREATE TABLE article (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title TEXT,
content TEXT,
is_published BIT,
published_on TIMESTAMP,
author_id INT,
co_author_id INT,
FOREIGN KEY (author_id) REFERENCES author(id),
FOREIGN KEY (co_author_id) REFERENCES author(id)
);
- type: mysql_run_sql
args:
source: mysql
sql: |
INSERT INTO article
(title, content, author_id, is_published)
VALUES
( 'Article 1', 'Sample article content 1', 1, 0 ),
( 'Article 2', 'Sample article content 2', 1, 1 ),
( 'Article 3', 'Sample article content 3', 2, 1 );