From 9880ec5070fc337eb87fc156f7c8a844829cb068 Mon Sep 17 00:00:00 2001 From: Cassie Tarakajian Date: Tue, 26 Dec 2017 21:43:43 -0500 Subject: [PATCH] add database migration to move s3 bucket --- server/migrations/moveBucket.js | 36 +++++++++++++++++++++++++++++++++ server/migrations/start.js | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 server/migrations/moveBucket.js diff --git a/server/migrations/moveBucket.js b/server/migrations/moveBucket.js new file mode 100644 index 00000000..10fb67ce --- /dev/null +++ b/server/migrations/moveBucket.js @@ -0,0 +1,36 @@ +/* eslint-disable */ +import s3 from 's3'; +import path from 'path'; +import mongoose from 'mongoose'; +import User from '../models/user'; +import Project from '../models/project'; +require('dotenv').config({path: path.resolve('.env')}); +mongoose.connect('mongodb://localhost:27017/p5js-web-editor'); +mongoose.connection.on('error', () => { + console.error('MongoDB Connection Error. Please make sure that MongoDB is running.'); + process.exit(1); +}); + +let client = s3.createClient({ + maxAsyncS3: 20, + s3RetryCount: 3, + s3RetryDelay: 1000, + multipartUploadThreshold: 20971520, // this is the default (20 MB) + multipartUploadSize: 15728640, // this is the default (15 MB) + s3Options: { + accessKeyId: `${process.env.AWS_ACCESS_KEY}`, + secretAccessKey: `${process.env.AWS_SECRET_KEY}`, + region: `${process.env.AWS_REGION}` + }, +}); + +Project.find({}, (err, projects) => { + projects.forEach((project, projectIndex) => { + project.files.forEach((file, fileIndex) => { + if (file.url && file.url.includes('p5.js-webeditor')) { + file.url = file.url.replace('p5.js-webeditor', process.env.S3_BUCKET); + } + // project.save(); + }); + }); +}); \ No newline at end of file diff --git a/server/migrations/start.js b/server/migrations/start.js index 313f9f5e..3f01413f 100644 --- a/server/migrations/start.js +++ b/server/migrations/start.js @@ -1,3 +1,3 @@ require('babel-register'); require('babel-polyfill'); -require('./s3UnderUser'); +require('./moveBucket');