/* Icinga Web 2 | (c) 2014 Icinga Development Team | GPLv2+ */ DROP TABLE "icingaweb_group_membership"; DROP TABLE "icingaweb_group"; CREATE OR REPLACE FUNCTION unix_timestamp(timestamp with time zone) RETURNS bigint AS ' SELECT EXTRACT(EPOCH FROM $1)::bigint AS result ' LANGUAGE sql; CREATE TABLE "icingaweb_group" ( "id" serial, "name" character varying(64) NOT NULL, "parent" int NULL DEFAULT NULL, "ctime" timestamp NULL DEFAULT NULL, "mtime" timestamp NULL DEFAULT NULL ); ALTER TABLE ONLY "icingaweb_group" ADD CONSTRAINT pk_icingaweb_group PRIMARY KEY ( "id" ); CREATE UNIQUE INDEX idx_icingaweb_group ON "icingaweb_group" USING btree ( lower((name)::text) ); ALTER TABLE ONLY "icingaweb_group" ADD CONSTRAINT fk_icingaweb_group_parent_id FOREIGN KEY ( "parent" ) REFERENCES "icingaweb_group" ( "id" ); CREATE TABLE "icingaweb_group_membership" ( "group_id" int NOT NULL, "username" character varying(64) NOT NULL, "ctime" timestamp NULL DEFAULT NULL, "mtime" timestamp NULL DEFAULT NULL ); ALTER TABLE ONLY "icingaweb_group_membership" ADD CONSTRAINT pk_icingaweb_group_membership FOREIGN KEY ( "group_id" ) REFERENCES "icingaweb_group" ( "id" ); CREATE UNIQUE INDEX idx_icingaweb_group_membership ON "icingaweb_group_membership" USING btree ( group_id, lower((username)::text) );