Commit 066489b9 authored by Daniel Henninger's avatar Daniel Henninger Committed by dhenninger

Finished fixes of upgrade scripts and testing of DBs.


git-svn-id: http://svn.igniterealtime.org/svn/repos/openfire/trunk@10813 b35dd754-fafc-0310-a699-88a17e54d16e
parent cf015dff
...@@ -16,22 +16,17 @@ CREATE TABLE mucServiceProp ( ...@@ -16,22 +16,17 @@ CREATE TABLE mucServiceProp (
); );
# add new indexed column to mucRoom # add new indexed column to mucRoom
ALTER TABLE mucRoom ADD COLUMN serviceID BIGINT FIRST; ALTER TABLE mucRoom ADD COLUMN serviceID BIGINT NOT NULL DEFAULT 1 FIRST;
ALTER TABLE mucRoom ADD INDEX mucRoom_serviceid_idx (serviceID); ALTER TABLE mucRoom ADD INDEX mucRoom_serviceid_idx (serviceID);
# change mucRooms primary key to be referenced around serviceID # change mucRooms primary key to be referenced around serviceID
ALTER TABLE mucRoom DROP PRIMARY KEY; ALTER TABLE mucRoom DROP PRIMARY KEY;
ALTER TABLE mucRoom ADD PRIMARY KEY (serviceID,name);
# add default entry for conference service and associated jiveID value # add default entry for conference service and associated jiveID value
INSERT INTO mucService (serviceID, subdomain) VALUES (1, 'conference'); INSERT INTO mucService (serviceID, subdomain) VALUES (1, 'conference');
INSERT INTO jiveID (idType, id) VALUES (26, 1); INSERT INTO jiveID (idType, id) VALUES (26, 1);
# update all entries in mucRoom to be set to the default conference service
UPDATE mucRoom set serviceID = 1;
# complete change mucRooms primary key to be referenced around serviceID
ALTER TABLE mucRoom ADD PRIMARY KEY (serviceID,name);
# update conference name/desc if theres a custom one set # update conference name/desc if theres a custom one set
UPDATE mucService SET mucService.subdomain = ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' ) UPDATE mucService SET mucService.subdomain = ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' )
WHERE EXISTS ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' ); WHERE EXISTS ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' );
......
...@@ -19,19 +19,17 @@ CREATE TABLE mucServiceProp ( ...@@ -19,19 +19,17 @@ CREATE TABLE mucServiceProp (
ALTER TABLE mucRoom ADD serviceID INT; ALTER TABLE mucRoom ADD serviceID INT;
CREATE INDEX mucRm_serviceid_idx ON mucRoom (serviceID); CREATE INDEX mucRm_serviceid_idx ON mucRoom (serviceID);
-- update all entries in mucRoom to be set to the default conference service
UPDATE mucRoom set serviceID = 1;
-- change mucRoom primary key to be referenced around serviceID -- change mucRoom primary key to be referenced around serviceID
ALTER TABLE mucRoom DROP CONSTRAINT mucRoom_pk; ALTER TABLE mucRoom DROP CONSTRAINT mucRoom_pk;
ALTER TABLE mucRoom ADD CONSTRAINT mucRoom_pk PRIMARY KEY (serviceID, name);
-- add default entry for conference service and associated jiveID value -- add default entry for conference service and associated jiveID value
INSERT INTO mucService (serviceID, subdomain) VALUES (1, 'conference'); INSERT INTO mucService (serviceID, subdomain) VALUES (1, 'conference');
INSERT INTO jiveID (idType, id) VALUES (26, 1); INSERT INTO jiveID (idType, id) VALUES (26, 1);
-- update all entries in mucRoom to be set to the default conference service
UPDATE mucRoom set serviceID = 1;
-- finish change mucRoom primary key to be referenced around serviceID
ALTER TABLE mucRoom ADD CONSTRAINT mucRoom_pk PRIMARY KEY (serviceID, name);
-- update conference name/desc if there is a custom one set -- update conference name/desc if there is a custom one set
UPDATE mucService SET mucService.subdomain = ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' ) UPDATE mucService SET mucService.subdomain = ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' )
WHERE EXISTS ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' ); WHERE EXISTS ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' );
......
...@@ -16,12 +16,9 @@ CREATE TABLE mucServiceProp ( ...@@ -16,12 +16,9 @@ CREATE TABLE mucServiceProp (
); );
-- add new indexed column to mucRoom -- add new indexed column to mucRoom
ALTER TABLE mucRoom ADD COLUMN serviceID INTEGER; ALTER TABLE mucRoom ADD COLUMN serviceID INTEGER NOT NULL DEFAULT 1;
CREATE INDEX mucRoom_serviceid_idx ON mucRoom (serviceID); CREATE INDEX mucRoom_serviceid_idx ON mucRoom (serviceID);
-- update all entries in mucRoom to be set to the default conference service
UPDATE mucRoom set serviceID = 1;
-- change mucRoom primary key to be referenced around serviceID -- change mucRoom primary key to be referenced around serviceID
ALTER TABLE mucRoom DROP CONSTRAINT mucRoom__pk; ALTER TABLE mucRoom DROP CONSTRAINT mucRoom__pk;
ALTER TABLE mucRoom ADD CONSTRAINT mucRoom__pk PRIMARY KEY (serviceID, name); ALTER TABLE mucRoom ADD CONSTRAINT mucRoom__pk PRIMARY KEY (serviceID, name);
......
...@@ -16,22 +16,17 @@ CREATE TABLE mucServiceProp ( ...@@ -16,22 +16,17 @@ CREATE TABLE mucServiceProp (
); );
/* add new indexed column to mucRoom */ /* add new indexed column to mucRoom */
ALTER TABLE mucRoom ADD serviceID INT; ALTER TABLE mucRoom ADD serviceID INT NOT NULL DEFAULT 1;
CREATE INDEX mucRoom_serviceid_idx ON mucRoom(serviceID); CREATE INDEX mucRoom_serviceid_idx ON mucRoom(serviceID);
/* change mucRoom primary key to be referenced around serviceID */ /* change mucRoom primary key to be referenced around serviceID */
ALTER TABLE mucRoom DROP CONSTRAINT mucRoom_pk; ALTER TABLE mucRoom DROP CONSTRAINT mucRoom__pk;
ALTER TABLE mucRoom ADD CONSTRAINT mucRoom__pk PRIMARY KEY (serviceID, name);
/* add default entry for conference service and associated jiveID value */ /* add default entry for conference service and associated jiveID value */
INSERT INTO mucService (serviceID, subdomain) VALUES (1, 'conference'); INSERT INTO mucService (serviceID, subdomain) VALUES (1, 'conference');
INSERT INTO jiveID (idType, id) VALUES (26, 1); INSERT INTO jiveID (idType, id) VALUES (26, 1);
/* update all entries in mucRoom to be set to the default conference service */
UPDATE mucRoom set serviceID = 1;
/* finish change mucRoom primary key to be referenced around serviceID */
ALTER TABLE mucRoom ADD CONSTRAINT mucRoom_pk PRIMARY KEY (serviceID, name);
/* update conference name/desc if there is a custom one set */ /* update conference name/desc if there is a custom one set */
UPDATE mucService SET mucService.subdomain = ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' ) UPDATE mucService SET mucService.subdomain = ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' )
WHERE EXISTS ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' ); WHERE EXISTS ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' );
......
...@@ -16,22 +16,17 @@ CREATE TABLE mucServiceProp ( ...@@ -16,22 +16,17 @@ CREATE TABLE mucServiceProp (
); );
/* add new indexed column to mucRoom */ /* add new indexed column to mucRoom */
ALTER TABLE mucRoom ADD COLUMN serviceID INT; ALTER TABLE mucRoom ADD COLUMN serviceID INT NOT NULL DEFAULT 1;
CREATE INDEX mucRoom_serviceid_idx ON mucRoom(serviceID); CREATE INDEX mucRoom_serviceid_idx ON mucRoom(serviceID);
/* change mucRoom primary key to be referenced around serviceID */ /* change mucRoom primary key to be referenced around serviceID */
ALTER TABLE mucRoom DROP CONSTRAINT mucRoom_pk; ALTER TABLE mucRoom DROP CONSTRAINT mucRoom_pk;
ALTER TABLE mucRoom ADD CONSTRAINT mucRoom_pk PRIMARY KEY (serviceID, name);
/* add default entry for conference service and associated jiveID value */ /* add default entry for conference service and associated jiveID value */
INSERT INTO mucService (serviceID, subdomain) VALUES (1, 'conference'); INSERT INTO mucService (serviceID, subdomain) VALUES (1, 'conference');
INSERT INTO jiveID (idType, id) VALUES (26, 1); INSERT INTO jiveID (idType, id) VALUES (26, 1);
/* update all entries in mucRoom to be set to the default conference service */
UPDATE mucRoom set serviceID = 1;
/* finish change mucRoom primary key to be referenced around serviceID */
ALTER TABLE mucRoom ADD CONSTRAINT mucRoom_pk PRIMARY KEY (serviceID, name);
/* update conference name/desc if there is a custom one set */ /* update conference name/desc if there is a custom one set */
UPDATE mucService SET mucService.subdomain = ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' ) UPDATE mucService SET mucService.subdomain = ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' )
WHERE EXISTS ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' ); WHERE EXISTS ( SELECT jiveProperty.propValue FROM jiveProperty WHERE jiveProperty.name = 'xmpp.muc.service' );
......
...@@ -137,7 +137,7 @@ ALTER TABLE ofMucServiceProp ADD CONSTRAINT ofMucServiceProp_pk PRIMARY KEY (ser ...@@ -137,7 +137,7 @@ ALTER TABLE ofMucServiceProp ADD CONSTRAINT ofMucServiceProp_pk PRIMARY KEY (ser
/* Rename mucRoom to ofMucRoom */ /* Rename mucRoom to ofMucRoom */
DROP INDEX mucRoom.mucRoom_roomID_idx; DROP INDEX mucRoom.mucRoom_roomID_idx;
DROP INDEX mucRoom.mucRoom_serviceID_idx; DROP INDEX mucRoom.mucRoom_serviceID_idx;
ALTER TABLE mucRoom DROP CONSTRAINT mucRoom_pk; ALTER TABLE mucRoom DROP CONSTRAINT mucRoom__pk;
sp_rename 'mucRoom', 'ofMucRoom'; sp_rename 'mucRoom', 'ofMucRoom';
ALTER TABLE ofMucRoom ADD CONSTRAINT ofMucRoom_pk PRIMARY KEY (serviceID, name); ALTER TABLE ofMucRoom ADD CONSTRAINT ofMucRoom_pk PRIMARY KEY (serviceID, name);
CREATE INDEX ofMucRoom_roomid_idx on ofMucRoom(roomID); CREATE INDEX ofMucRoom_roomid_idx on ofMucRoom(roomID);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment