73 lines
1.5 KiB
JavaScript
73 lines
1.5 KiB
JavaScript
'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');
|
|
},
|
|
};
|