Skip to content

Commit 630473f

Browse files
committed
OF-2500: Postgresql database upgrade
1 parent 2e1c1fa commit 630473f

File tree

2 files changed

+68
-19
lines changed

2 files changed

+68
-19
lines changed

distribution/src/database/openfire_postgresql.sql

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ CREATE TABLE ofUser (
1111
encryptedPassword VARCHAR(255),
1212
name VARCHAR(100),
1313
email VARCHAR(100),
14-
creationDate CHAR(15) NOT NULL,
15-
modificationDate CHAR(15) NOT NULL,
14+
creationDate TIMESTAMP NOT NULL,
15+
modificationDate TIMESTAMP NOT NULL,
1616
CONSTRAINT ofUser_pk PRIMARY KEY (username)
1717
);
1818
CREATE INDEX ofUser_cDate_idx ON ofUser (creationDate);
@@ -29,8 +29,8 @@ CREATE TABLE ofUserProp (
2929
CREATE TABLE ofUserFlag (
3030
username VARCHAR(64) NOT NULL,
3131
name VARCHAR(100) NOT NULL,
32-
startTime CHAR(15),
33-
endTime CHAR(15),
32+
startTime TIMESTAMP,
33+
endTime TIMESTAMP,
3434
CONSTRAINT ofUserFlag_pk PRIMARY KEY (username, name)
3535
);
3636
CREATE INDEX ofUserFlag_sTime_idx ON ofUserFlag (startTime);
@@ -40,7 +40,7 @@ CREATE INDEX ofUserFlag_eTime_idx ON ofUserFlag (endTime);
4040
CREATE TABLE ofOffline (
4141
username VARCHAR(64) NOT NULL,
4242
messageID INTEGER NOT NULL,
43-
creationDate CHAR(15) NOT NULL,
43+
creationDate TIMESTAMP NOT NULL,
4444
messageSize INTEGER NOT NULL,
4545
stanza TEXT NOT NULL,
4646
CONSTRAINT ofOffline_pk PRIMARY KEY (username, messageID)
@@ -50,7 +50,7 @@ CREATE TABLE ofOffline (
5050
CREATE TABLE ofPresence (
5151
username VARCHAR(64) NOT NULL,
5252
offlinePresence TEXT,
53-
offlineDate VARCHAR(15) NOT NULL,
53+
offlineDate TIMESTAMP NOT NULL,
5454
CONSTRAINT ofPresence_pk PRIMARY KEY (username)
5555
);
5656

@@ -108,7 +108,7 @@ CREATE TABLE ofGroupUser (
108108
administrator INTEGER NOT NULL,
109109
CONSTRAINT ofGroupUser_pk PRIMARY KEY (groupName, username, administrator)
110110
);
111-
111+
112112

113113
CREATE TABLE ofID (
114114
idType INTEGER NOT NULL,
@@ -189,13 +189,13 @@ CREATE TABLE ofMucServiceProp (
189189
CREATE TABLE ofMucRoom (
190190
serviceID INTEGER NOT NULL,
191191
roomID INTEGER NOT NULL,
192-
creationDate CHAR(15) NOT NULL,
193-
modificationDate CHAR(15) NOT NULL,
192+
creationDate TIMESTAMP NOT NULL,
193+
modificationDate TIMESTAMP NOT NULL,
194194
name VARCHAR(50) NOT NULL,
195195
naturalName VARCHAR(255) NOT NULL,
196196
description VARCHAR(255),
197-
lockedDate CHAR(15) NOT NULL,
198-
emptyDate CHAR(15) NULL,
197+
lockedDate TIMESTAMP NOT NULL,
198+
emptyDate TIMESTAMP NULL,
199199
canChangeSubject INTEGER NOT NULL,
200200
maxUsers INTEGER NOT NULL,
201201
publicRoom INTEGER NOT NULL,
@@ -259,13 +259,13 @@ CREATE TABLE ofMucMember (
259259

260260
CREATE TABLE ofMucConversationLog (
261261
roomID INTEGER NOT NULL,
262-
messageID INTEGER NOT NULL,
262+
messageID INTEGER NOT NULL,
263263
sender VARCHAR(1024) NOT NULL,
264264
nickname VARCHAR(255) NULL,
265-
logTime CHAR(15) NOT NULL,
265+
logTime TIMESTAMP NOT NULL,
266266
subject VARCHAR(255) NULL,
267267
body TEXT NULL,
268-
stanza TEXT NULL
268+
stanza TEXT NULL
269269
);
270270
CREATE INDEX ofMucConversationLog_roomtime_idx ON ofMucConversationLog (roomID, logTime);
271271
CREATE INDEX ofMucConversationLog_time_idx ON ofMucConversationLog (logTime);
@@ -278,8 +278,8 @@ CREATE TABLE ofPubsubNode (
278278
serviceID VARCHAR(100) NOT NULL,
279279
nodeID VARCHAR(100) NOT NULL,
280280
leaf INTEGER NOT NULL,
281-
creationDate CHAR(15) NOT NULL,
282-
modificationDate CHAR(15) NOT NULL,
281+
creationDate TIMESTAMP NOT NULL,
282+
modificationDate TIMESTAMP NOT NULL,
283283
parent VARCHAR(100) NULL,
284284
deliverPayloads INTEGER NOT NULL,
285285
maxPayloadSize INTEGER NULL,
@@ -335,7 +335,7 @@ CREATE TABLE ofPubsubItem (
335335
nodeID VARCHAR(100) NOT NULL,
336336
id VARCHAR(100) NOT NULL,
337337
jid VARCHAR(1024) NOT NULL,
338-
creationDate CHAR(15) NOT NULL,
338+
creationDate TIMESTAMP NOT NULL,
339339
payload TEXT NULL,
340340
CONSTRAINT ofPubsubItem_pk PRIMARY KEY (serviceID, nodeID, id)
341341
);
@@ -350,7 +350,7 @@ CREATE TABLE ofPubsubSubscription (
350350
deliver INTEGER NOT NULL,
351351
digest INTEGER NOT NULL,
352352
digest_frequency INTEGER NOT NULL,
353-
expire CHAR(15) NULL,
353+
expire TIMESTAMP NULL,
354354
includeBody INTEGER NOT NULL,
355355
showValues VARCHAR(30) NOT NULL,
356356
subscriptionType VARCHAR(10) NOT NULL,
@@ -391,7 +391,7 @@ INSERT INTO ofID (idType, id) VALUES (27, 1);
391391

392392
-- Entry for admin user
393393
INSERT INTO ofUser (username, plainPassword, name, email, creationDate, modificationDate)
394-
VALUES ('admin', 'admin', 'Administrator', '[email protected]', '0', '0');
394+
VALUES ('admin', 'admin', 'Administrator', '[email protected]', 'epoch', 'epoch');
395395

396396
-- Entry for default conference service
397397
INSERT INTO ofMucService (serviceID, subdomain, isHidden) VALUES (1, 'conference', 0);
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
ALTER TABLE ofUser
2+
ALTER COLUMN creationDate SET DATA TYPE TIMESTAMP
3+
USING to_timestamp(CAST(creationDate AS BIGINT) / 1e3),
4+
ALTER COLUMN modificationDate SET DATA TYPE TIMESTAMP
5+
USING to_timestamp(CAST(modificationDate AS BIGINT) / 1e3);
6+
7+
ALTER TABLE ofUserFlag
8+
ALTER COLUMN startTime SET DATA TYPE TIMESTAMP
9+
USING to_timestamp(CAST(startTime AS BIGINT) / 1e3),
10+
ALTER COLUMN endTime SET DATA TYPE TIMESTAMP
11+
USING to_timestamp(CAST(endTime AS BIGINT) / 1e3);
12+
13+
ALTER TABLE ofOffline
14+
ALTER COLUMN creationDate SET DATA TYPE TIMESTAMP
15+
USING to_timestamp(CAST(creationDate AS BIGINT) / 1e3);
16+
17+
ALTER TABLE ofPresence
18+
ALTER COLUMN offlineDate SET DATA TYPE TIMESTAMP
19+
USING to_timestamp(CAST(offlineDate AS BIGINT) / 1e3);
20+
21+
ALTER TABLE ofMucRoom
22+
ALTER COLUMN creationDate SET DATA TYPE TIMESTAMP
23+
USING to_timestamp(CAST(creationDate AS BIGINT) / 1e3),
24+
ALTER COLUMN modificationDate SET DATA TYPE TIMESTAMP
25+
USING to_timestamp(CAST(modificationDate AS BIGINT) / 1e3),
26+
ALTER COLUMN lockedDate SET DATA TYPE TIMESTAMP
27+
USING to_timestamp(CAST(lockedDate AS BIGINT) / 1e3),
28+
ALTER COLUMN emptyDate SET DATA TYPE TIMESTAMP
29+
USING to_timestamp(CAST(emptyDate AS BIGINT) / 1e3);
30+
31+
ALTER TABLE ofMucConversationLog
32+
ALTER COLUMN logTime SET DATA TYPE TIMESTAMP
33+
USING to_timestamp(CAST(logTime AS BIGINT) / 1e3);
34+
35+
ALTER TABLE ofPubsubNode
36+
ALTER COLUMN creationDate SET DATA TYPE TIMESTAMP
37+
USING to_timestamp(CAST(creationDate AS BIGINT) / 1e3),
38+
ALTER COLUMN modificationDate SET DATA TYPE TIMESTAMP
39+
USING to_timestamp(CAST(modificationDate AS BIGINT) / 1e3);
40+
41+
ALTER TABLE ofPubsubItem
42+
ALTER COLUMN creationDate SET DATA TYPE TIMESTAMP
43+
USING to_timestamp(CAST(creationDate AS BIGINT) / 1e3);
44+
45+
ALTER TABLE ofPubsubSubscription
46+
ALTER COLUMN expire SET DATA TYPE TIMESTAMP
47+
USING to_timestamp(CAST(expire AS BIGINT) / 1e3);
48+
49+
UPDATE ofVersion SET version = 38 WHERE name = 'openfire';

0 commit comments

Comments
 (0)