Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions testdata/diff/create_table/add_uk/diff.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
ALTER TABLE orders
ADD COLUMN id serial CONSTRAINT orders_id_key UNIQUE;

ALTER TABLE products
ADD COLUMN id integer GENERATED ALWAYS AS IDENTITY CONSTRAINT products_id_key UNIQUE;

ALTER TABLE user_permissions
ADD CONSTRAINT user_permissions_user_id_resource_id_permission_type_key UNIQUE (user_id, resource_id, permission_type);

ALTER TABLE users
ADD COLUMN id integer CONSTRAINT users_id_key UNIQUE;
32 changes: 32 additions & 0 deletions testdata/diff/create_table/add_uk/new.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
-- Basic single column case
CREATE TABLE public.users (
id integer,
username text NOT NULL,
email text,
CONSTRAINT users_id_key UNIQUE (id)
);

-- Composite UK case
CREATE TABLE public.user_permissions (
user_id integer NOT NULL,
resource_id integer NOT NULL,
permission_type text NOT NULL,
granted_at timestamp with time zone DEFAULT now(),
UNIQUE (user_id, resource_id, permission_type)
);

-- Identity column case
CREATE TABLE public.products (
id integer GENERATED ALWAYS AS IDENTITY,
name text NOT NULL,
price numeric(10,2),
CONSTRAINT products_id_key UNIQUE (id)
);

-- Serial column case
CREATE TABLE public.orders (
id serial,
customer_id integer NOT NULL,
order_date date DEFAULT CURRENT_DATE,
CONSTRAINT orders_id_key UNIQUE (id)
);
25 changes: 25 additions & 0 deletions testdata/diff/create_table/add_uk/old.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
-- Basic single column case
CREATE TABLE public.users (
username text NOT NULL,
email text
);

-- Composite UK case
CREATE TABLE public.user_permissions (
user_id integer NOT NULL,
resource_id integer NOT NULL,
permission_type text NOT NULL,
granted_at timestamp with time zone DEFAULT now()
);

-- Identity column case
CREATE TABLE public.products (
name text NOT NULL,
price numeric(10,2)
);

-- Serial column case
CREATE TABLE public.orders (
customer_id integer NOT NULL,
order_date date DEFAULT CURRENT_DATE
);
38 changes: 38 additions & 0 deletions testdata/diff/create_table/add_uk/plan.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"version": "1.0.0",
"pgschema_version": "1.4.2",
"created_at": "1970-01-01T00:00:00Z",
"source_fingerprint": {
"hash": "a84b1200ad93167b75cad55c9676d78ea09b64430af7d0751b0ace9773199fdb"
},
"groups": [
{
"steps": [
{
"sql": "ALTER TABLE orders\nADD COLUMN id serial CONSTRAINT orders_id_key UNIQUE;",
"type": "table.column",
"operation": "create",
"path": "public.orders.id"
},
{
"sql": "ALTER TABLE products\nADD COLUMN id integer GENERATED ALWAYS AS IDENTITY CONSTRAINT products_id_key UNIQUE;",
"type": "table.column",
"operation": "create",
"path": "public.products.id"
},
{
"sql": "ALTER TABLE user_permissions\nADD CONSTRAINT user_permissions_user_id_resource_id_permission_type_key UNIQUE (user_id, resource_id, permission_type);",
"type": "table.constraint",
"operation": "create",
"path": "public.user_permissions.user_permissions_user_id_resource_id_permission_type_key"
},
{
"sql": "ALTER TABLE users\nADD COLUMN id integer CONSTRAINT users_id_key UNIQUE;",
"type": "table.column",
"operation": "create",
"path": "public.users.id"
}
]
}
]
}
11 changes: 11 additions & 0 deletions testdata/diff/create_table/add_uk/plan.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
ALTER TABLE orders
ADD COLUMN id serial CONSTRAINT orders_id_key UNIQUE;

ALTER TABLE products
ADD COLUMN id integer GENERATED ALWAYS AS IDENTITY CONSTRAINT products_id_key UNIQUE;

ALTER TABLE user_permissions
ADD CONSTRAINT user_permissions_user_id_resource_id_permission_type_key UNIQUE (user_id, resource_id, permission_type);

ALTER TABLE users
ADD COLUMN id integer CONSTRAINT users_id_key UNIQUE;
29 changes: 29 additions & 0 deletions testdata/diff/create_table/add_uk/plan.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Plan: 4 to modify.

Summary by type:
tables: 4 to modify

Tables:
~ orders
+ id (column)
~ products
+ id (column)
~ user_permissions
+ user_permissions_user_id_resource_id_permission_type_key (constraint)
~ users
+ id (column)

DDL to be executed:
--------------------------------------------------

ALTER TABLE orders
ADD COLUMN id serial CONSTRAINT orders_id_key UNIQUE;

ALTER TABLE products
ADD COLUMN id integer GENERATED ALWAYS AS IDENTITY CONSTRAINT products_id_key UNIQUE;

ALTER TABLE user_permissions
ADD CONSTRAINT user_permissions_user_id_resource_id_permission_type_key UNIQUE (user_id, resource_id, permission_type);

ALTER TABLE users
ADD COLUMN id integer CONSTRAINT users_id_key UNIQUE;
2 changes: 0 additions & 2 deletions testdata/diff/create_table/add_uk_bigint/diff.sql

This file was deleted.

6 changes: 0 additions & 6 deletions testdata/diff/create_table/add_uk_bigint/new.sql

This file was deleted.

4 changes: 0 additions & 4 deletions testdata/diff/create_table/add_uk_bigint/old.sql

This file was deleted.

20 changes: 0 additions & 20 deletions testdata/diff/create_table/add_uk_bigint/plan.json

This file was deleted.

2 changes: 0 additions & 2 deletions testdata/diff/create_table/add_uk_bigint/plan.sql

This file was deleted.

14 changes: 0 additions & 14 deletions testdata/diff/create_table/add_uk_bigint/plan.txt

This file was deleted.

2 changes: 0 additions & 2 deletions testdata/diff/create_table/add_uk_composite/diff.sql

This file was deleted.

7 changes: 0 additions & 7 deletions testdata/diff/create_table/add_uk_composite/new.sql

This file was deleted.

6 changes: 0 additions & 6 deletions testdata/diff/create_table/add_uk_composite/old.sql

This file was deleted.

20 changes: 0 additions & 20 deletions testdata/diff/create_table/add_uk_composite/plan.json

This file was deleted.

2 changes: 0 additions & 2 deletions testdata/diff/create_table/add_uk_composite/plan.sql

This file was deleted.

14 changes: 0 additions & 14 deletions testdata/diff/create_table/add_uk_composite/plan.txt

This file was deleted.

2 changes: 0 additions & 2 deletions testdata/diff/create_table/add_uk_identity/diff.sql

This file was deleted.

6 changes: 0 additions & 6 deletions testdata/diff/create_table/add_uk_identity/new.sql

This file was deleted.

4 changes: 0 additions & 4 deletions testdata/diff/create_table/add_uk_identity/old.sql

This file was deleted.

20 changes: 0 additions & 20 deletions testdata/diff/create_table/add_uk_identity/plan.json

This file was deleted.

2 changes: 0 additions & 2 deletions testdata/diff/create_table/add_uk_identity/plan.sql

This file was deleted.

14 changes: 0 additions & 14 deletions testdata/diff/create_table/add_uk_identity/plan.txt

This file was deleted.

2 changes: 0 additions & 2 deletions testdata/diff/create_table/add_uk_serial/diff.sql

This file was deleted.

6 changes: 0 additions & 6 deletions testdata/diff/create_table/add_uk_serial/new.sql

This file was deleted.

4 changes: 0 additions & 4 deletions testdata/diff/create_table/add_uk_serial/old.sql

This file was deleted.

20 changes: 0 additions & 20 deletions testdata/diff/create_table/add_uk_serial/plan.json

This file was deleted.

2 changes: 0 additions & 2 deletions testdata/diff/create_table/add_uk_serial/plan.sql

This file was deleted.

14 changes: 0 additions & 14 deletions testdata/diff/create_table/add_uk_serial/plan.txt

This file was deleted.

2 changes: 0 additions & 2 deletions testdata/diff/create_table/add_uk_single/diff.sql

This file was deleted.

6 changes: 0 additions & 6 deletions testdata/diff/create_table/add_uk_single/new.sql

This file was deleted.

4 changes: 0 additions & 4 deletions testdata/diff/create_table/add_uk_single/old.sql

This file was deleted.

Loading