aboutsummaryrefslogtreecommitdiff
path: root/src/api/database/migrations/20201227023216_addUniques.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/database/migrations/20201227023216_addUniques.js')
-rw-r--r--src/api/database/migrations/20201227023216_addUniques.js33
1 files changed, 33 insertions, 0 deletions
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
+};