'use strict'; module.exports = { up: function (queryInterface, Sequelize) { queryInterface.createTable('revisions', { id: { type: 'UUID', allowNull: false, primaryKey: true }, title: { type: 'CHARACTER VARYING', allowNull: false, }, text: { type: 'TEXT', allowNull: true, }, html: { type: 'TEXT', allowNull: true, }, preview: { type: 'TEXT', allowNull: true, }, createdAt: { type: 'TIMESTAMP WITH TIME ZONE', allowNull: false, }, updatedAt: { type: 'TIMESTAMP WITH TIME ZONE', allowNull: false, }, userId: { type: 'UUID', allowNull: false, references: { model: 'users', } }, documentId: { type: 'UUID', allowNull: false, references: { model: 'documents', onDelete: 'CASCADE', } }, }); queryInterface.addColumn( 'documents', 'lastModifiedById', { type: 'UUID', allowNull: false, references: { model: 'users', } } ); queryInterface.addColumn( 'documents', 'revisionCount', { type: 'INTEGER', defaultValue: 0 } ); }, down: function (queryInterface, Sequelize) { queryInterface.dropTable('revisions'); queryInterface.removeColumn('documents', 'lastModifiedById'); queryInterface.removeColumn('documents', 'revisionCount'); } };