38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict'
 | |
| module.exports = {
 | |
|   up: function (queryInterface, Sequelize) {
 | |
|     return queryInterface.addColumn('Notes', 'authorship', Sequelize.TEXT).then(function () {
 | |
|       return queryInterface.addColumn('Revisions', 'authorship', Sequelize.TEXT)
 | |
|     }).then(function () {
 | |
|       return queryInterface.createTable('Authors', {
 | |
|         id: {
 | |
|           type: Sequelize.INTEGER,
 | |
|           primaryKey: true,
 | |
|           autoIncrement: true
 | |
|         },
 | |
|         color: Sequelize.STRING,
 | |
|         noteId: Sequelize.UUID,
 | |
|         userId: Sequelize.UUID,
 | |
|         createdAt: Sequelize.DATE,
 | |
|         updatedAt: Sequelize.DATE
 | |
|       })
 | |
|     }).catch(function (error) {
 | |
|       if (error.message.toLowerCase().includes('duplicate column name') ||
 | |
|         error.message === 'column "authorship" of relation "Notes" already exists') {
 | |
|         // eslint-disable-next-line no-console
 | |
|         console.log('Migration has already run… ignoring.')
 | |
|       } else {
 | |
|         throw error
 | |
|       }
 | |
|     })
 | |
|   },
 | |
| 
 | |
|   down: function (queryInterface, Sequelize) {
 | |
|     return queryInterface.dropTable('Authors').then(function () {
 | |
|       return queryInterface.removeColumn('Revisions', 'authorship')
 | |
|     }).then(function () {
 | |
|       return queryInterface.removeColumn('Notes', 'authorship')
 | |
|     })
 | |
|   }
 | |
| }
 |