From cc49ce55c8fdc5237d1b45c75df991cb958b46d9 Mon Sep 17 00:00:00 2001 From: Claudius Coenen Date: Mon, 16 Oct 2017 10:12:39 +0200 Subject: [PATCH] Fix #521 by converting content fields to LONGTEXT in MySQL, to prevent truncation of data. --- .../20171009121200-longtext-for-mysql.js | 16 ++++++++++++++++ lib/models/note.js | 2 +- lib/models/revision.js | 6 +++--- 3 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 lib/migrations/20171009121200-longtext-for-mysql.js diff --git a/lib/migrations/20171009121200-longtext-for-mysql.js b/lib/migrations/20171009121200-longtext-for-mysql.js new file mode 100644 index 000000000..61b409cab --- /dev/null +++ b/lib/migrations/20171009121200-longtext-for-mysql.js @@ -0,0 +1,16 @@ +'use strict' +module.exports = { + up: function (queryInterface, Sequelize) { + queryInterface.changeColumn('Notes', 'content', {type: Sequelize.TEXT('long')}) + queryInterface.changeColumn('Revisions', 'patch', {type: Sequelize.TEXT('long')}) + queryInterface.changeColumn('Revisions', 'content', {type: Sequelize.TEXT('long')}) + queryInterface.changeColumn('Revisions', 'latContent', {type: Sequelize.TEXT('long')}) + }, + + down: function (queryInterface, Sequelize) { + queryInterface.changeColumn('Notes', 'content', {type: Sequelize.TEXT}) + queryInterface.changeColumn('Revisions', 'patch', {type: Sequelize.TEXT}) + queryInterface.changeColumn('Revisions', 'content', {type: Sequelize.TEXT}) + queryInterface.changeColumn('Revisions', 'latContent', {type: Sequelize.TEXT}) + } +} diff --git a/lib/models/note.js b/lib/models/note.js index c0ef13745..33dde80d7 100644 --- a/lib/models/note.js +++ b/lib/models/note.js @@ -60,7 +60,7 @@ module.exports = function (sequelize, DataTypes) { } }, content: { - type: DataTypes.TEXT, + type: DataTypes.TEXT('long'), get: function () { return sequelize.processData(this.getDataValue('content'), '') }, diff --git a/lib/models/revision.js b/lib/models/revision.js index 225a95d4e..32c57d03d 100644 --- a/lib/models/revision.js +++ b/lib/models/revision.js @@ -58,7 +58,7 @@ module.exports = function (sequelize, DataTypes) { defaultValue: Sequelize.UUIDV4 }, patch: { - type: DataTypes.TEXT, + type: DataTypes.TEXT('long'), get: function () { return sequelize.processData(this.getDataValue('patch'), '') }, @@ -67,7 +67,7 @@ module.exports = function (sequelize, DataTypes) { } }, lastContent: { - type: DataTypes.TEXT, + type: DataTypes.TEXT('long'), get: function () { return sequelize.processData(this.getDataValue('lastContent'), '') }, @@ -76,7 +76,7 @@ module.exports = function (sequelize, DataTypes) { } }, content: { - type: DataTypes.TEXT, + type: DataTypes.TEXT('long'), get: function () { return sequelize.processData(this.getDataValue('content'), '') },