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/20200104233831-attachments.js
Tom Moor 8e5a5a57a9
feat: Store image uploads as attachments in database (#1144)
* First pass

* Documentation

* Added optional documentId relationship

* name -> key

* cleanup: No need for separate documentId prop
2020-01-16 09:42:42 -08:00

66 lines
1.4 KiB
JavaScript

module.exports = {
up: async (queryInterface, Sequelize) => {
await queryInterface.createTable('attachments', {
id: {
type: Sequelize.UUID,
allowNull: false,
primaryKey: true,
},
teamId: {
type: Sequelize.UUID,
allowNull: false,
references: {
model: 'teams',
},
},
userId: {
type: Sequelize.UUID,
allowNull: false,
references: {
model: 'users',
},
},
documentId: {
type: Sequelize.UUID,
allowNull: true,
references: {
model: 'documents',
},
},
key: {
type: Sequelize.STRING,
allowNull: false,
},
url: {
type: Sequelize.STRING,
allowNull: false,
},
contentType: {
type: Sequelize.STRING,
allowNull: false,
},
size: {
type: Sequelize.BIGINT,
allowNull: false,
},
acl: {
type: Sequelize.STRING,
allowNull: false,
},
createdAt: {
type: Sequelize.DATE,
allowNull: false,
},
updatedAt: {
type: Sequelize.DATE,
allowNull: false,
},
});
await queryInterface.addIndex('attachments', ['documentId']);
},
down: async (queryInterface, Sequelize) => {
await queryInterface.dropTable('attachments');
},
};