From 82704394a9cf882e5b610ffa817f552a9616d5a2 Mon Sep 17 00:00:00 2001 From: KevinMidboe Date: Sat, 2 Mar 2019 23:23:25 +0100 Subject: [PATCH] Created migrations for all tables. --- .../20190223148264-createAdventures.js | 49 +++++++++++++++++++ .../migrations/20190223148284-createImage.js | 38 ++++++++++++++ .../20190223148294-createLocation.js | 33 +++++++++++++ ...23212505-addImageColumnOriginalFilename.js | 20 ++++++++ src/db/models/image.js | 2 - 5 files changed, 140 insertions(+), 2 deletions(-) create mode 100644 src/db/migrations/20190223148264-createAdventures.js create mode 100644 src/db/migrations/20190223148284-createImage.js create mode 100644 src/db/migrations/20190223148294-createLocation.js create mode 100644 src/db/migrations/20190223212505-addImageColumnOriginalFilename.js diff --git a/src/db/migrations/20190223148264-createAdventures.js b/src/db/migrations/20190223148264-createAdventures.js new file mode 100644 index 0000000..cda2e72 --- /dev/null +++ b/src/db/migrations/20190223148264-createAdventures.js @@ -0,0 +1,49 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.createTable('adventures', + { + id: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true + }, + title: { + type: Sequelize.STRING, + notNull: true + }, + subtext: { + type: Sequelize.TEXT, + notNull: false, + default: null + }, + dateStart: { + type: Sequelize.DATE, + notNull: true + }, + dateEnd: { + type: Sequelize.DATE, + notNull: true + }, + locationName: { + type: Sequelize.STRING, + notnull: false, + default: null + }, + createdAt: { + allowNull: false, + type: Sequelize.DATE + }, + updatedAt: { + allowNull: false, + type: Sequelize.DATE + } + } + ) + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.dropTable('Adventures') + } +}; diff --git a/src/db/migrations/20190223148284-createImage.js b/src/db/migrations/20190223148284-createImage.js new file mode 100644 index 0000000..22e83ee --- /dev/null +++ b/src/db/migrations/20190223148284-createImage.js @@ -0,0 +1,38 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.createTable('images', + { + id: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true + }, + filename: { + type: Sequelize.TEXT, + allowNull: false, + }, + adventure_id: { + type: Sequelize.INTEGER, + }, + description: { + type: Sequelize.TEXT, + allowNull: true + }, + size: { + type: Sequelize.DOUBLE, + allowNull: true + }, + album_order: { + type: Sequelize.INTEGER, + allowNull: true + } + } + ) + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.dropTable('images') + } +}; diff --git a/src/db/migrations/20190223148294-createLocation.js b/src/db/migrations/20190223148294-createLocation.js new file mode 100644 index 0000000..cd37786 --- /dev/null +++ b/src/db/migrations/20190223148294-createLocation.js @@ -0,0 +1,33 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.createTable('locations', + { + id: { + type: Sequelize.INTEGER, + primaryKey: true, + autoIncrement: true + }, + name: { + type: Sequelize.STRING, + allowNull: false + }, + geoposition: { + type: Sequelize.STRING, + allowNull: true, + defaultValue: null + }, + mapboxData: { + type: Sequelize.JSON, + allowNull: true, + defaultValue: null + } + } + ) + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.dropTable('locations') + } +}; diff --git a/src/db/migrations/20190223212505-addImageColumnOriginalFilename.js b/src/db/migrations/20190223212505-addImageColumnOriginalFilename.js new file mode 100644 index 0000000..9031604 --- /dev/null +++ b/src/db/migrations/20190223212505-addImageColumnOriginalFilename.js @@ -0,0 +1,20 @@ +'use strict'; + +module.exports = { + up: (queryInterface, Sequelize) => { + return queryInterface.addColumn( + 'images', + 'original_filename', + { + type: Sequelize.STRING, + allowNull: true, + defaultValue: null, + after: 'filename' + } + ) + }, + + down: (queryInterface, Sequelize) => { + return queryInterface.removeColumn('images', 'original_filename') + } +}; diff --git a/src/db/models/image.js b/src/db/models/image.js index 70a956b..d515233 100644 --- a/src/db/models/image.js +++ b/src/db/models/image.js @@ -36,7 +36,5 @@ module.exports = (sequelize, DataTypes) => { }) } - // Image.sync({ force: false }) - return Image; };