Provide database upgrade scripts for rc1
This commit is contained in:
parent
e394e1b111
commit
664d6ea513
|
@ -259,7 +259,7 @@ The first release candidate of Icinga Web 2 introduces the following non-backwar
|
|||
|
||||
* The database schema has been adjusted and the tables `icingaweb_group` and
|
||||
`icingaweb_group_membership` were altered to ensure referential integrity.
|
||||
Please use the update script located in **etc/schema/upgrade** to update your
|
||||
Please use the upgrade script located in **etc/schema/** to update your
|
||||
database schema
|
||||
* Users who are using PostgreSQL < v9.1 are required to upgrade their
|
||||
environment to v9.1+ as this is the new minimum required version
|
||||
|
|
|
@ -0,0 +1,26 @@
|
|||
# Icinga Web 2 | (c) 2013-2015 Icinga Development Team | GPLv2+
|
||||
|
||||
DROP TABLE `icingaweb_group_membership`;
|
||||
DROP TABLE `icingaweb_group`;
|
||||
|
||||
CREATE TABLE `icingaweb_group`(
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`parent` int(10) unsigned NULL DEFAULT NULL,
|
||||
`ctime` timestamp NULL DEFAULT NULL,
|
||||
`mtime` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `idx_name` (`name`),
|
||||
CONSTRAINT `fk_icingaweb_group_parent_id` FOREIGN KEY (`parent`)
|
||||
REFERENCES `icingaweb_group` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE `icingaweb_group_membership`(
|
||||
`group_id` int(10) unsigned NOT NULL,
|
||||
`username` varchar(64) COLLATE utf8_unicode_ci NOT NULL,
|
||||
`ctime` timestamp NULL DEFAULT NULL,
|
||||
`mtime` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`group_id`,`username`),
|
||||
CONSTRAINT `fk_icingaweb_group_membership_icingaweb_group` FOREIGN KEY (`group_id`)
|
||||
REFERENCES `icingaweb_group` (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
@ -0,0 +1,60 @@
|
|||
/* Icinga Web 2 | (c) 2013-2015 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)
|
||||
);
|
Loading…
Reference in New Issue