Просмотр исходного кода

:sparkles: added migrations per table | added seed data | updated mock

master
TOJ 5 лет назад
Родитель
Сommit
e5a538eb9e

+ 0
- 53
backend/db/migrations/20210524105357_create_initial_tables.js Просмотреть файл

@@ -1,53 +0,0 @@
1
-exports.up = function(knex) {
2
-    return knex.schema
3
-        .createTable('users', function(table) {
4
-            table.increments('user_id').primary()
5
-            table.string('user_name', 32).notNullable()
6
-            table.string('user_email', 90).notNullable()
7
-        })
8
-        .createTable('profiles', function(table) {
9
-            table.increments('profile_id').primary()
10
-            table.integer('user_id').notNullable()
11
-        })
12
-        .createTable('response_keys', function(table) {
13
-            table.increments('response_key_id').primary()
14
-            table.string('response_key_name').notNullable()
15
-            table.string('response_key_description')
16
-        })
17
-        .createTable('responses', function(table) {
18
-            table.increments('response_id').primary()
19
-            table.integer('profile_id').notNullable()
20
-            table.integer('response_key_id').notNullable()
21
-            table.string('val').notNullable()
22
-        })
23
-        .createTable('groupings', function(table) {
24
-            table.increments('grouping_id').primary()
25
-            table.string('grouping_name', 128).notNullable()
26
-            table.string('grouping_type', 128).notNullable() // Don't over normalize
27
-        })
28
-        .createTable('memberships', function(table) {
29
-            table.increments('membership_id').primary()
30
-            table.integer('user_id').notNullable() // From
31
-            table.integer('grouping_id').notNullable() // To
32
-            table.string('membership_type', 128).notNullable() // Don't over normalize
33
-            table.boolean('can_edit').notNullable()
34
-        })
35
-        .createTable('messages', function(table) {
36
-            table.increments('message_id').primary()
37
-            table.integer('user_id').notNullable()
38
-            table.integer('grouping_id').notNullable()
39
-            table.string('message', 255).notNullable()
40
-        })
41
-}
42
-
43
-exports.down = function(knex) {
44
-    return knex.schema
45
-        .dropTable('users')
46
-        .dropTable('profiles')
47
-        .dropTable('response_keys')
48
-        .dropTable('responses')
49
-        .dropTable('groupings')
50
-        .dropTable('memberships')
51
-        .dropTable('chats')
52
-        .dropTable('messages')
53
-}

+ 15
- 0
backend/db/migrations/20210524105357_create_users_table.js Просмотреть файл

@@ -0,0 +1,15 @@
1
+exports.up = function(knex) {
2
+    return knex.schema
3
+        .createTable('users', function(table) {
4
+            table.increments('user_id').primary()
5
+            table.string('user_name', 32).notNullable()
6
+            table.string('user_email', 90).notNullable()
7
+            table.boolean('is_admin').notNullable()
8
+            table.boolean('is_poster').notNullable()
9
+        })
10
+}
11
+
12
+exports.down = function(knex) {
13
+    return knex.schema
14
+        .dropTable('users')
15
+}

+ 12
- 0
backend/db/migrations/20210527173933_create_profiles_table.js Просмотреть файл

@@ -0,0 +1,12 @@
1
+exports.up = function(knex) {
2
+    return knex.schema
3
+        .createTable('profiles', function(table) {
4
+            table.increments('profile_id').primary()
5
+            table.integer('user_id').notNullable()
6
+        })
7
+}
8
+
9
+exports.down = function(knex) {
10
+    return knex.schema
11
+        .dropTable('profiles')
12
+}

+ 13
- 0
backend/db/migrations/20210527174416_create_response_keys_table.js Просмотреть файл

@@ -0,0 +1,13 @@
1
+exports.up = function(knex) {
2
+    return knex.schema
3
+        .createTable('response_keys', function(table) {
4
+            table.increments('response_key_id').primary()
5
+            table.string('response_key_name').notNullable()
6
+            table.string('response_key_description')
7
+        })
8
+}
9
+
10
+exports.down = function(knex) {
11
+    return knex.schema
12
+        .dropTable('response_keys')
13
+}

+ 14
- 0
backend/db/migrations/20210527174422_create_responses_table.js Просмотреть файл

@@ -0,0 +1,14 @@
1
+exports.up = function(knex) {
2
+    return knex.schema
3
+        .createTable('responses', function(table) {
4
+            table.increments('response_id').primary()
5
+            table.integer('profile_id').notNullable()
6
+            table.integer('response_key_id').notNullable()
7
+            table.string('val').notNullable()
8
+        })
9
+}
10
+
11
+exports.down = function(knex) {
12
+    return knex.schema
13
+        .dropTable('responses')
14
+}

+ 13
- 0
backend/db/migrations/20210527174434_create_memberships_table.js Просмотреть файл

@@ -0,0 +1,13 @@
1
+exports.up = function(knex) {
2
+    return knex.schema
3
+        .createTable('groupings', function(table) {
4
+            table.increments('grouping_id').primary()
5
+            table.string('grouping_name', 128).notNullable()
6
+            table.string('grouping_type', 128).notNullable() // Don't over normalize
7
+        })
8
+}
9
+
10
+exports.down = function(knex) {
11
+    return knex.schema
12
+        .dropTable('groupings')
13
+}

+ 15
- 0
backend/db/migrations/20210527174440_create_groupings_table.js Просмотреть файл

@@ -0,0 +1,15 @@
1
+exports.up = function(knex) {
2
+    return knex.schema
3
+        .createTable('memberships', function(table) {
4
+            table.increments('membership_id').primary()
5
+            table.integer('user_id').notNullable() // From
6
+            table.integer('grouping_id').notNullable() // To
7
+            table.string('membership_type', 128).notNullable() // Don't over normalize
8
+            table.boolean('can_edit').notNullable()
9
+        })
10
+}
11
+
12
+exports.down = function(knex) {
13
+    return knex.schema
14
+        .dropTable('memberships')
15
+}

+ 14
- 0
backend/db/migrations/20210527174448_create_messages_table.js Просмотреть файл

@@ -0,0 +1,14 @@
1
+exports.up = function(knex) {
2
+    return knex.schema
3
+        .createTable('messages', function(table) {
4
+            table.increments('message_id').primary()
5
+            table.integer('user_id').notNullable()
6
+            table.integer('grouping_id').notNullable()
7
+            table.string('message', 255).notNullable()
8
+        })
9
+}
10
+
11
+exports.down = function(knex) {
12
+    return knex.schema
13
+        .dropTable('messages')
14
+}

+ 2
- 2
backend/db/mock.js Просмотреть файл

@@ -1,4 +1,4 @@
1
-modules.exports = {
1
+module.exports = {
2 2
     users: [
3 3
         { user_id: 1, user_name: 'usample', user_email: 'user_sample@doggo.com', is_admin: true, is_poster: false },
4 4
         { user_id: 2, user_name: 'fifi', user_email: 'fifi@ismycat.com', is_admin: false, is_poster: false },
@@ -57,5 +57,5 @@ modules.exports = {
57 57
         { message_id: 7, user_id: 5, grouping_id: 4, message: 'just hey?' },
58 58
         { message_id: 8, user_id: 1, grouping_id: 5, message: 'hello!' },
59 59
         { message_id: 9, user_id: 3, grouping_id: 5, message: 'meow' }
60
-    ],
60
+    ]
61 61
 }

+ 10
- 0
backend/db/seeds/01-users.js Просмотреть файл

@@ -0,0 +1,10 @@
1
+const mock = require('../mock');
2
+
3
+exports.seed = function(knex) {
4
+  // Deletes ALL existing entries
5
+  return knex('users').truncate()
6
+    .then(function () {
7
+      // Inserts seed entries
8
+      return knex('users').insert(mock.users);
9
+    });
10
+};

+ 10
- 0
backend/db/seeds/02-profiles.js Просмотреть файл

@@ -0,0 +1,10 @@
1
+const mock = require('../mock');
2
+
3
+exports.seed = function(knex) {
4
+  // Deletes ALL existing entries
5
+  return knex('profiles').truncate()
6
+    .then(function () {
7
+      // Inserts seed entries
8
+      return knex('profiles').insert(mock.profiles);
9
+    });
10
+};

+ 10
- 0
backend/db/seeds/03-response_keys.js Просмотреть файл

@@ -0,0 +1,10 @@
1
+const mock = require('../mock');
2
+
3
+exports.seed = function(knex) {
4
+  // Deletes ALL existing entries
5
+  return knex('response_keys').truncate()
6
+    .then(function () {
7
+      // Inserts seed entries
8
+      return knex('response_keys').insert(mock.response_keys);
9
+    });
10
+};

+ 10
- 0
backend/db/seeds/04-responses.js Просмотреть файл

@@ -0,0 +1,10 @@
1
+const mock = require('../mock');
2
+
3
+exports.seed = function(knex) {
4
+  // Deletes ALL existing entries
5
+  return knex('responses').truncate()
6
+    .then(function () {
7
+      // Inserts seed entries
8
+      return knex('responses').insert(mock.responses);
9
+    });
10
+};

+ 10
- 0
backend/db/seeds/05-memberships.js Просмотреть файл

@@ -0,0 +1,10 @@
1
+const mock = require('../mock');
2
+
3
+exports.seed = function(knex) {
4
+  // Deletes ALL existing entries
5
+  return knex('memberships').truncate()
6
+    .then(function () {
7
+      // Inserts seed entries
8
+      return knex('memberships').insert(mock.memberships);
9
+    });
10
+};

+ 10
- 0
backend/db/seeds/06-groupings.js Просмотреть файл

@@ -0,0 +1,10 @@
1
+const mock = require('../mock');
2
+
3
+exports.seed = function(knex) {
4
+  // Deletes ALL existing entries
5
+  return knex('groupings').truncate()
6
+    .then(function () {
7
+      // Inserts seed entries
8
+      return knex('groupings').insert(mock.groupings);
9
+    });
10
+};

+ 10
- 0
backend/db/seeds/07-messages.js Просмотреть файл

@@ -0,0 +1,10 @@
1
+const mock = require('../mock');
2
+
3
+exports.seed = function(knex) {
4
+  // Deletes ALL existing entries
5
+  return knex('messages').truncate()
6
+    .then(function () {
7
+      // Inserts seed entries
8
+      return knex('messages').insert(mock.messages);
9
+    });
10
+};

Загрузка…
Отмена
Сохранить