This repository has been archived on 2022-08-14. You can view files and clone it, but cannot push or open issues or pull requests.
outline/server/migrations/20180324214403-serializer-u...

27 lines
895 B
JavaScript

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
}
};