From 68634418e1c86d5ebd5dc2feead241919d3aa9ed Mon Sep 17 00:00:00 2001 From: Pitu Date: Sun, 27 Dec 2020 03:02:14 +0900 Subject: Squashed commit of the following: commit df4b0378571708086a276e49ac8630095e08b0b7 Author: Pitu Date: Sun Dec 27 03:00:17 2020 +0900 feat: move database modification to a new migration file --- .../migrations/20190221225812_initialMigration.js | 18 ++---------- .../migrations/20201227023216_addUniques.js | 33 ++++++++++++++++++++++ 2 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 src/api/database/migrations/20201227023216_addUniques.js (limited to 'src/api/database') diff --git a/src/api/database/migrations/20190221225812_initialMigration.js b/src/api/database/migrations/20190221225812_initialMigration.js index 92103c1..a27a08a 100644 --- a/src/api/database/migrations/20190221225812_initialMigration.js +++ b/src/api/database/migrations/20190221225812_initialMigration.js @@ -1,11 +1,11 @@ exports.up = async knex => { await knex.schema.createTable('users', table => { table.increments(); - table.string('username').unique(); + table.string('username'); table.text('password'); table.boolean('enabled'); table.boolean('isAdmin'); - table.string('apiKey').unique(); + table.string('apiKey'); table.timestamp('passwordEditedAt'); table.timestamp('apiKeyEditedAt'); table.timestamp('createdAt'); @@ -16,12 +16,9 @@ exports.up = async knex => { table.increments(); table.integer('userId'); table.string('name'); - table.boolean('nsfw').defaultTo(false); table.timestamp('zippedAt'); table.timestamp('createdAt'); table.timestamp('editedAt'); - - table.unique(['userId', 'name']); }); await knex.schema.createTable('files', table => { @@ -31,7 +28,6 @@ exports.up = async knex => { table.string('original'); table.string('type'); table.integer('size'); - table.boolean('nsfw').defaultTo(false); table.string('hash'); table.string('ip'); table.timestamp('createdAt'); @@ -49,22 +45,18 @@ exports.up = async knex => { table.timestamp('expiresAt'); table.timestamp('createdAt'); table.timestamp('editedAt'); - - table.unique(['userId', 'albumId', 'identifier']); }); await knex.schema.createTable('albumsFiles', table => { table.increments(); table.integer('albumId'); table.integer('fileId'); - - table.unique(['albumId', 'fileId']); }); await knex.schema.createTable('albumsLinks', table => { table.increments(); table.integer('albumId'); - table.integer('linkId').unique(); + table.integer('linkId'); }); await knex.schema.createTable('tags', table => { @@ -74,16 +66,12 @@ exports.up = async knex => { table.string('name'); table.timestamp('createdAt'); table.timestamp('editedAt'); - - table.unique(['userId', 'name']); }); await knex.schema.createTable('fileTags', table => { table.increments(); table.integer('fileId'); table.integer('tagId'); - - table.unique(['fileId', 'tagId']); }); await knex.schema.createTable('bans', table => { diff --git a/src/api/database/migrations/20201227023216_addUniques.js b/src/api/database/migrations/20201227023216_addUniques.js new file mode 100644 index 0000000..14f9e7f --- /dev/null +++ b/src/api/database/migrations/20201227023216_addUniques.js @@ -0,0 +1,33 @@ +exports.up = async knex => { + await knex.schema.alterTable('users', table => { + table.unique(['username', 'apiKey']); + }); + + await knex.schema.alterTable('albums', table => { + table.boolean('nsfw').defaultTo(false); + table.unique(['userId', 'name']); + }); + + await knex.schema.alterTable('links', table => { + table.unique(['userId', 'albumId', 'identifier']); + }); + + await knex.schema.alterTable('albumsFiles', table => { + table.unique(['albumId', 'fileId']); + }); + + await knex.schema.alterTable('albumsLinks', table => { + table.unique(['linkId']); + }); + + await knex.schema.alterTable('tags', table => { + table.unique(['userId', 'name']); + }); + + await knex.schema.alterTable('fileTags', table => { + table.unique(['fileId', 'tagId']); + }); +}; +exports.down = async knex => { + // Nothing +}; -- cgit v1.2.3