-- Table: gis.group_list

-- DROP TABLE gis.group_list;

CREATE TABLE if not exists gis.group_list
(
  group_id text NOT NULL DEFAULT admin.next_id(), -- ідентифікатор групи
  group_name text NOT NULL, -- Назва групи
  enabled boolean DEFAULT true, -- ознака чи включена група
  created_at timestamp without time zone DEFAULT date_trunc('minutes'::text, (now())::timestamp without time zone),
  updated_at timestamp without time zone,
  updated_by text,
  created_by text,
  cdate timestamp without time zone DEFAULT date_trunc('minutes'::text, (now())::timestamp without time zone), -- дата створення запису в БД
  editor_date timestamp without time zone, -- Дата редагування
  editor_id text, -- ідентифікатор користувача котрий останій вносив зміни в запис
  uid text, -- ідентифікатор користувача який створив запис
  icon text, -- Зображення
  CONSTRAINT gis_group_id_pkey PRIMARY KEY (group_id)
);

COMMENT ON COLUMN gis.group_list.group_id IS 'ідентифікатор групи';
COMMENT ON COLUMN gis.group_list.group_name IS 'Назва групи';
COMMENT ON COLUMN gis.group_list.enabled IS 'ознака чи включена група';
COMMENT ON COLUMN gis.group_list.cdate IS 'дата створення запису в БД';
COMMENT ON COLUMN gis.group_list.editor_date IS 'Дата редагування';
COMMENT ON COLUMN gis.group_list.editor_id IS 'ідентифікатор користувача котрий останій вносив зміни в запис';
COMMENT ON COLUMN gis.group_list.uid IS 'ідентифікатор користувача який створив запис';
COMMENT ON COLUMN gis.group_list.icon IS 'Зображення';


-- Index: gis.gis_group_list_enabled_btree_idx

-- DROP INDEX gis.gis_group_list_enabled_btree_idx;

CREATE INDEX if not exists gis_group_list_enabled_btree_idx
  ON gis.group_list
  USING btree
  (enabled);

-- Index: gis.gis_group_list_group_cdate_btree_idx

-- DROP INDEX gis.gis_group_list_group_cdate_btree_idx;

CREATE INDEX if not exists gis_group_list_group_cdate_btree_idx
  ON gis.group_list
  USING btree
  (cdate);

-- Index: gis.gis_group_list_group_enabled_btree_idx

-- DROP INDEX gis.gis_group_list_group_enabled_btree_idx;

CREATE INDEX if not exists gis_group_list_group_enabled_btree_idx
  ON gis.group_list
  USING btree
  (enabled);

-- Index: gis.gis_group_list_group_name_gin_idx

-- DROP INDEX gis.gis_group_list_group_name_gin_idx;

CREATE INDEX if not exists gis_group_list_group_name_gin_idx
  ON gis.group_list
  USING gin
  (group_name COLLATE pg_catalog."default" gin_trgm_ops);

-- Index: gis.gis_group_list_group_name_gin_idx_lower

-- DROP INDEX gis.gis_group_list_group_name_gin_idx_lower;

CREATE INDEX if not exists gis_group_list_group_name_gin_idx_lower
  ON gis.group_list
  USING gin
  (lower(group_name) COLLATE pg_catalog."default" gin_trgm_ops);