mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-27 01:15:51 +03:00
91376316f2
This is breaking change where bigint and bigserial Postgres types will be encoded as GraphQL String types, as opposed to Int as present in earlier releases. Input types were already encoded as String. This is achieved by selecting `bigint` and `bigserial` columns as `text`s in the SQL query: `select "big_id"::text ..` instead of `select "big_id" .. `. Reason for that change is outlined in #633 where JavaScript cannot decode 64 bit Integers.
107 lines
1.8 KiB
YAML
107 lines
1.8 KiB
YAML
type: bulk
|
|
args:
|
|
|
|
#Author table
|
|
- type: run_sql
|
|
args:
|
|
sql: |
|
|
create table author(
|
|
id serial primary key,
|
|
name text unique
|
|
);
|
|
- 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
|
|
|
|
#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
|
|
|
|
|
|
#Insert values
|
|
- type: run_sql
|
|
args:
|
|
sql: |
|
|
insert into author (name)
|
|
values
|
|
('Author 1'),
|
|
('Author 2')
|
|
|
|
- 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,
|
|
true
|
|
)
|
|
|
|
#User table with bigserial and bigint columns
|
|
- type: run_sql
|
|
args:
|
|
sql: |
|
|
CREATE TABLE "user" (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
name TEXT NOT NULL,
|
|
number BIGINT
|
|
);
|
|
- type: track_table
|
|
args:
|
|
schema: public
|
|
name: user
|
|
- type: insert
|
|
args:
|
|
table: user
|
|
objects:
|
|
- name: User 1
|
|
number: '123456789'
|
|
- name: User 2
|
|
number: '123456780'
|