mirror of
https://github.com/outline/outline.git
synced 2026-01-06 02:59:54 -06:00
Added migration for existing docs
This commit is contained in:
26
server/migrations/20180324214403-serializer-upgrade.js
Normal file
26
server/migrations/20180324214403-serializer-upgrade.js
Normal file
@@ -0,0 +1,26 @@
|
||||
module.exports = {
|
||||
up: async (queryInterface, Sequelize) => {
|
||||
// upgrade to slate-md-serializer 3.0 means that newlines saved in Markdown are now
|
||||
// accurately reflected in the editor. To prevent a change in appearance in current docs
|
||||
// we need to collapse existing multiple newlines in the db.
|
||||
const [documents, metaData] = await queryInterface.sequelize.query(`SELECT * FROM documents`);
|
||||
for (const document of documents) {
|
||||
const id = document.id;
|
||||
const fixedText = document.text.replace(/\n{2,}/gi, "\n\n");
|
||||
if (fixedText === document.text) continue;
|
||||
|
||||
// raw query to avoid hooks
|
||||
await queryInterface.sequelize.query(`
|
||||
update documents
|
||||
set "text" = :fixedText
|
||||
where id = :id
|
||||
`, { replacements: { fixedText, id } })
|
||||
}
|
||||
},
|
||||
|
||||
down: async (queryInterface, Sequelize) => {
|
||||
// cannot be reversed
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user