diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-09 18:38:24 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-09 18:38:35 -0700 |
commit | fc3d70a256dbd45fdd54a21efa6abc49b554e8e2 (patch) | |
tree | 5b1e8bdd9dc42494e36efd193964f1588c2190f7 /fatcat-go/fatcat-schema.sql | |
parent | f36836a6399022338ec02849da42f6f518c7a54f (diff) | |
download | fatcat-fc3d70a256dbd45fdd54a21efa6abc49b554e8e2.tar.gz fatcat-fc3d70a256dbd45fdd54a21efa6abc49b554e8e2.zip |
rename golang directory
Diffstat (limited to 'fatcat-go/fatcat-schema.sql')
-rw-r--r-- | fatcat-go/fatcat-schema.sql | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/fatcat-go/fatcat-schema.sql b/fatcat-go/fatcat-schema.sql deleted file mode 100644 index f5983371..00000000 --- a/fatcat-go/fatcat-schema.sql +++ /dev/null @@ -1,68 +0,0 @@ - --- written for Postgres 9.6 with OSSP extension for UUIDs - -CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; - -DROP TABLE IF EXISTS editor CASCADE; -DROP TABLE IF EXISTS editgroup CASCADE; -DROP TABLE IF EXISTS changelog CASCADE; -DROP TABLE IF EXISTS creator_rev CASCADE; -DROP TABLE IF EXISTS creator_ident CASCADE; -DROP TABLE IF EXISTS creator_edit CASCADE; - --- uuid_generate_v1mc: timestamp ordered, random MAC address --- uuid_generate_v4: totally random - --- NB: could use LIKE clause, or "composite types" - -CREATE TABLE editor ( - id BIGSERIAL PRIMARY KEY, - username TEXT NOT NULL, - is_admin BOOLEAN NOT NULL DEFAULT false, - active_editgroup_id BIGINT -- REFERENCES( editgroup(id) via ALTER below -); - -CREATE TABLE editgroup ( - id BIGSERIAL PRIMARY KEY, - extra_json JSON, - editor_id BIGSERIAL REFERENCES editor(id) NOT NULL, - description TEXT -); - -ALTER TABLE editor - ADD CONSTRAINT editor_editgroupid_fkey FOREIGN KEY (active_editgroup_id) - REFERENCES editgroup(id); - -CREATE TABLE changelog ( - id BIGSERIAL PRIMARY KEY, - editgroup_id BIGINT REFERENCES editgroup(id) NOT NULL, - timestamp TIMESTAMP WITHOUT TIME ZONE DEFAULT now() -); - -CREATE TABLE creator_rev ( - id BIGSERIAL PRIMARY KEY, - extra_json JSON, - - name TEXT, - orcid TEXT -); - --- Could denormalize a "is_live" flag into revision tables, to make indices --- more efficient -CREATE INDEX creator_rev_orcid_idx ON creator_rev(orcid) WHERE orcid IS NOT NULL; - -CREATE TABLE creator_ident ( - id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), - is_live BOOL NOT NULL, - rev_id BIGINT REFERENCES creator_rev(id), - redirect_id UUID REFERENCES creator_ident(id) -); - -CREATE TABLE creator_edit ( - id BIGSERIAL PRIMARY KEY, - extra_json JSON, - ident_id UUID REFERENCES creator_ident(id) NOT NULL, - rev_id BIGINT REFERENCES creator_rev(id), - redirect_id UUID REFERENCES creator_ident(id), - editgroup_id BIGINT REFERENCES editgroup(id) NOT NULL -); |