debian-mirror-gitlab/spec/fixtures/gitlab/database/structure_example_cleaned.sql
2023-03-05 14:24:40 +05:30

39 lines
1.1 KiB
PL/PgSQL

CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE TABLE abuse_reports (
id integer NOT NULL,
reporter_id integer,
user_id integer,
message text,
created_at timestamp without time zone,
updated_at timestamp without time zone,
message_html text,
cached_markdown_version integer
);
CREATE SEQUENCE abuse_reports_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
ALTER TABLE ONLY abuse_reports ALTER COLUMN id SET DEFAULT nextval('abuse_reports_id_seq'::regclass);
ALTER TABLE ONLY abuse_reports
ADD CONSTRAINT abuse_reports_pkey PRIMARY KEY (id);
CREATE INDEX index_abuse_reports_on_user_id ON abuse_reports USING btree (user_id);
CREATE FUNCTION gitlab_schema_prevent_write() RETURNS trigger
LANGUAGE plpgsql
AS $$
BEGIN
IF COALESCE(NULLIF(current_setting(CONCAT('lock_writes.', TG_TABLE_NAME), true), ''), 'true') THEN
RAISE EXCEPTION 'Table: "%" is write protected within this Gitlab database.', TG_TABLE_NAME
USING ERRCODE = 'modifying_sql_data_not_permitted',
HINT = 'Make sure you are using the right database connection';
END IF;
RETURN NEW;
END
$$;