21 lines
926 B
SQL
21 lines
926 B
SQL
|
|
|
|
CREATE TABLE "blocks"."placement"
|
|
(
|
|
location_name CHARACTER VARYING NOT NULL,
|
|
index INT NOT NULL,
|
|
block_uuid UUID NOT NULL,
|
|
scope_path CHARACTER VARYING NOT NULL,
|
|
inherited BOOL DEFAULT FALSE NOT NULL,
|
|
excluded_scopes CHARACTER VARYING [],
|
|
|
|
-- NOTE: Because we UPDATE the primary (location_name, index) key on the placement-table,
|
|
-- the constraint behavior on the primary key is set to DEFERRABLE and INITIALLY IMMEDIATE.
|
|
--
|
|
-- For more inforation, refer to this bug-report:
|
|
--
|
|
-- https://www.postgresql.org/message-id/flat/20170322123053.1421.55154%40wrigleys.postgresql.org
|
|
|
|
CONSTRAINT placement_location_name_index_pk PRIMARY KEY (location_name, index) DEFERRABLE INITIALLY IMMEDIATE,
|
|
CONSTRAINT placement_block_uuid_fk FOREIGN KEY (block_uuid) REFERENCES "blocks"."block" (uuid) ON DELETE CASCADE
|
|
); |