mirror of
https://github.com/ONLYOFFICE/server.git
synced 2026-02-10 18:05:07 +08:00
[feature] Add upgrade scripts; Add fixes for postgres
This commit is contained in:
committed by
Sergey Konovalov
parent
99bda12ad1
commit
abe92206da
@ -180,7 +180,7 @@
|
||||
"options": {}
|
||||
},
|
||||
"pubsub": {
|
||||
"maxChanges": 1000
|
||||
"maxChanges": 0
|
||||
},
|
||||
"expire": {
|
||||
"saveLock": 60,
|
||||
|
||||
@ -506,7 +506,7 @@ function fillJwtByConnection(ctx, conn) {
|
||||
}
|
||||
|
||||
function sendData(ctx, conn, data) {
|
||||
conn.emit('message', JSON.stringify(data));
|
||||
conn.emit('message', data);
|
||||
const type = data ? data.type : null;
|
||||
ctx.logger.debug('sendData: type = %s', type);
|
||||
}
|
||||
@ -1652,7 +1652,7 @@ exports.install = function(server, callbackFunction) {
|
||||
element = arrayElements[j];
|
||||
|
||||
// Добавляем GMT, т.к. в базу данных мы пишем UTC, но сохраняется туда строка без UTC и при зачитывании будет неправильное время
|
||||
objChangesDocument.push({docid: docId, change: element['change_data'].data,
|
||||
objChangesDocument.push({docid: docId, change: element['change_data'],
|
||||
time: element['change_date'].getTime(), user: element['user_id'],
|
||||
useridoriginal: element['user_id_original']});
|
||||
}
|
||||
|
||||
@ -182,7 +182,7 @@ exports.insertChanges = function(ctx, tableChanges, startIndex, objChanges, docI
|
||||
let time = [];
|
||||
//Postgres 9.4 multi-argument unnest
|
||||
let sqlCommand = `INSERT INTO ${tableChanges} (tenant, id, change_id, user_id, user_id_original, user_name, change_data, change_date) `;
|
||||
sqlCommand += "SELECT * FROM UNNEST ($1::text[], $2::text[], $3::int[], $4::text[], $5::text[], $6::text[], $7::text[], $8::timestamp[]);";
|
||||
sqlCommand += "SELECT * FROM UNNEST ($1::text[], $2::text[], $3::int[], $4::text[], $5::text[], $6::text[], $7::bytea[], $8::timestamp[]);";
|
||||
let values = [tenant, id, changeId, userId, userIdOriginal, username, change, time];
|
||||
let curLength = sqlCommand.length;
|
||||
for (; i < objChanges.length; ++i) {
|
||||
|
||||
18
schema/mysql/upgrade/upgradev730.sql
Normal file
18
schema/mysql/upgrade/upgradev730.sql
Normal file
@ -0,0 +1,18 @@
|
||||
DELIMITER DLM00
|
||||
|
||||
DROP PROCEDURE IF EXISTS upgrade730 DLM00
|
||||
|
||||
CREATE PROCEDURE upgrade730()
|
||||
BEGIN
|
||||
|
||||
IF (SELECT DATA_TYPE FROM information_schema.`COLUMNS` WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'doc_changes' AND COLUMN_NAME = 'change_data') <> 'longblob' THEN
|
||||
SET SQL_SAFE_UPDATES=0;
|
||||
ALTER TABLE `doc_changes` CHANGE COLUMN `change_data` `change_data` LONGBLOB NOT NULL ;
|
||||
SET SQL_SAFE_UPDATES=1;
|
||||
END IF;
|
||||
|
||||
END DLM00
|
||||
|
||||
CALL upgrade730() DLM00
|
||||
|
||||
DELIMITER ;
|
||||
9
schema/postgresql/upgrade/upgradev730.sql
Normal file
9
schema/postgresql/upgrade/upgradev730.sql
Normal file
@ -0,0 +1,9 @@
|
||||
DO $$
|
||||
BEGIN
|
||||
BEGIN
|
||||
ALTER TABLE doc_changes ALTER COLUMN change_data TYPE bytea USING change_data::bytea;
|
||||
EXCEPTION
|
||||
WHEN duplicate_column THEN RAISE NOTICE 'cant modify doc_changes.change_data colummn';
|
||||
END;
|
||||
END;
|
||||
$$
|
||||
Reference in New Issue
Block a user