aboutsummaryrefslogtreecommitdiffstats
path: root/database/migrations
diff options
context:
space:
mode:
Diffstat (limited to 'database/migrations')
-rw-r--r--database/migrations/1503250034279_user.js22
-rw-r--r--database/migrations/1503250034279_user.ts20
-rw-r--r--database/migrations/1503250034280_token.js22
-rw-r--r--database/migrations/1503250034280_token.ts20
-rw-r--r--database/migrations/1566385379883_service_schema.js23
-rw-r--r--database/migrations/1566385379883_service_schema.ts21
-rw-r--r--database/migrations/1566554231482_recipe_schema.js21
-rw-r--r--database/migrations/1566554231482_recipe_schema.ts19
-rw-r--r--database/migrations/1566554359294_workspace_schema.ts (renamed from database/migrations/1566554359294_workspace_schema.js)16
-rw-r--r--database/migrations/1612629845398_users_update_schema.js18
-rw-r--r--database/migrations/1612629845398_users_update_schema.ts15
-rw-r--r--database/migrations/1658076326250_correct_token_relations.ts22
-rw-r--r--database/migrations/1696110557648_jwt_tokens.ts29
13 files changed, 153 insertions, 115 deletions
diff --git a/database/migrations/1503250034279_user.js b/database/migrations/1503250034279_user.js
deleted file mode 100644
index 77f3cee..0000000
--- a/database/migrations/1503250034279_user.js
+++ /dev/null
@@ -1,22 +0,0 @@
1
2/** @type {import('@adonisjs/lucid/src/Schema')} */
3const Schema = use('Schema');
4
5class UserSchema extends Schema {
6 up() {
7 this.create('users', (table) => {
8 table.increments();
9 table.string('username', 80).notNullable();
10 table.string('email', 254).notNullable().unique();
11 table.string('password', 60).notNullable();
12 table.json('settings');
13 table.timestamps();
14 });
15 }
16
17 down() {
18 this.drop('users');
19 }
20}
21
22module.exports = UserSchema;
diff --git a/database/migrations/1503250034279_user.ts b/database/migrations/1503250034279_user.ts
new file mode 100644
index 0000000..262a472
--- /dev/null
+++ b/database/migrations/1503250034279_user.ts
@@ -0,0 +1,20 @@
1import BaseSchema from '@ioc:Adonis/Lucid/Schema';
2
3export default class extends BaseSchema {
4 protected tableName = 'users';
5
6 public async up(): Promise<void> {
7 this.schema.createTable(this.tableName, table => {
8 table.increments();
9 table.string('username', 80).notNullable();
10 table.string('email', 254).notNullable().unique();
11 table.string('password', 60).notNullable();
12 table.json('settings');
13 table.timestamps();
14 });
15 }
16
17 public async down(): Promise<void> {
18 this.schema.dropTable(this.tableName);
19 }
20}
diff --git a/database/migrations/1503250034280_token.js b/database/migrations/1503250034280_token.js
deleted file mode 100644
index ad97dba..0000000
--- a/database/migrations/1503250034280_token.js
+++ /dev/null
@@ -1,22 +0,0 @@
1
2/** @type {import('@adonisjs/lucid/src/Schema')} */
3const Schema = use('Schema');
4
5class TokensSchema extends Schema {
6 up() {
7 this.create('tokens', (table) => {
8 table.increments();
9 table.integer('user_id').unsigned().references('id').inTable('users');
10 table.string('token', 255).notNullable().unique().index();
11 table.string('type', 80).notNullable();
12 table.boolean('is_revoked').defaultTo(false);
13 table.timestamps();
14 });
15 }
16
17 down() {
18 this.drop('tokens');
19 }
20}
21
22module.exports = TokensSchema;
diff --git a/database/migrations/1503250034280_token.ts b/database/migrations/1503250034280_token.ts
new file mode 100644
index 0000000..5a030d0
--- /dev/null
+++ b/database/migrations/1503250034280_token.ts
@@ -0,0 +1,20 @@
1import BaseSchema from '@ioc:Adonis/Lucid/Schema';
2
3export default class extends BaseSchema {
4 protected tableName = 'tokens';
5
6 public async up(): Promise<void> {
7 this.schema.createTable(this.tableName, table => {
8 table.increments();
9 table.integer('user_id').unsigned().references('users.id');
10 table.string('token', 255).notNullable().unique().index();
11 table.string('type', 80).notNullable();
12 table.boolean('is_revoked').defaultTo(false);
13 table.timestamps();
14 });
15 }
16
17 public async down(): Promise<void> {
18 this.schema.dropTable(this.tableName);
19 }
20}
diff --git a/database/migrations/1566385379883_service_schema.js b/database/migrations/1566385379883_service_schema.js
deleted file mode 100644
index 093fb13..0000000
--- a/database/migrations/1566385379883_service_schema.js
+++ /dev/null
@@ -1,23 +0,0 @@
1
2/** @type {import('@adonisjs/lucid/src/Schema')} */
3const Schema = use('Schema');
4
5class ServiceSchema extends Schema {
6 up() {
7 this.create('services', (table) => {
8 table.increments();
9 table.string('userId', 80).notNullable();
10 table.string('serviceId', 80).notNullable();
11 table.string('name', 80).notNullable();
12 table.string('recipeId', 254).notNullable();
13 table.json('settings');
14 table.timestamps();
15 });
16 }
17
18 down() {
19 this.drop('services');
20 }
21}
22
23module.exports = ServiceSchema;
diff --git a/database/migrations/1566385379883_service_schema.ts b/database/migrations/1566385379883_service_schema.ts
new file mode 100644
index 0000000..9c3e23d
--- /dev/null
+++ b/database/migrations/1566385379883_service_schema.ts
@@ -0,0 +1,21 @@
1import BaseSchema from '@ioc:Adonis/Lucid/Schema';
2
3export default class extends BaseSchema {
4 protected tableName = 'services';
5
6 public async up(): Promise<void> {
7 this.schema.createTable(this.tableName, table => {
8 table.increments();
9 table.string('userId', 80).notNullable();
10 table.string('serviceId', 80).notNullable();
11 table.string('name', 80).notNullable();
12 table.string('recipeId', 254).notNullable();
13 table.json('settings');
14 table.timestamps();
15 });
16 }
17
18 public async down(): Promise<void> {
19 this.schema.dropTable(this.tableName);
20 }
21}
diff --git a/database/migrations/1566554231482_recipe_schema.js b/database/migrations/1566554231482_recipe_schema.js
deleted file mode 100644
index 14fcb82..0000000
--- a/database/migrations/1566554231482_recipe_schema.js
+++ /dev/null
@@ -1,21 +0,0 @@
1
2/** @type {import('@adonisjs/lucid/src/Schema')} */
3const Schema = use('Schema');
4
5class RecipeSchema extends Schema {
6 up() {
7 this.create('recipes', (table) => {
8 table.increments();
9 table.string('name', 80).notNullable();
10 table.string('recipeId', 254).notNullable().unique();
11 table.json('data');
12 table.timestamps();
13 });
14 }
15
16 down() {
17 this.drop('recipes');
18 }
19}
20
21module.exports = RecipeSchema;
diff --git a/database/migrations/1566554231482_recipe_schema.ts b/database/migrations/1566554231482_recipe_schema.ts
new file mode 100644
index 0000000..3a9784d
--- /dev/null
+++ b/database/migrations/1566554231482_recipe_schema.ts
@@ -0,0 +1,19 @@
1import BaseSchema from '@ioc:Adonis/Lucid/Schema';
2
3export default class extends BaseSchema {
4 protected tableName = 'recipes';
5
6 public async up(): Promise<void> {
7 this.schema.createTable(this.tableName, table => {
8 table.increments();
9 table.string('name', 80).notNullable();
10 table.string('recipeId', 254).notNullable().unique();
11 table.json('data');
12 table.timestamps();
13 });
14 }
15
16 public async down(): Promise<void> {
17 this.schema.dropTable(this.tableName);
18 }
19}
diff --git a/database/migrations/1566554359294_workspace_schema.js b/database/migrations/1566554359294_workspace_schema.ts
index 0a3c138..77e1189 100644
--- a/database/migrations/1566554359294_workspace_schema.js
+++ b/database/migrations/1566554359294_workspace_schema.ts
@@ -1,10 +1,10 @@
1import BaseSchema from '@ioc:Adonis/Lucid/Schema';
1 2
2/** @type {import('@adonisjs/lucid/src/Schema')} */ 3export default class extends BaseSchema {
3const Schema = use('Schema'); 4 protected tableName = 'workspaces';
4 5
5class WorkspaceSchema extends Schema { 6 public async up(): Promise<void> {
6 up() { 7 this.schema.createTable(this.tableName, table => {
7 this.create('workspaces', (table) => {
8 table.increments(); 8 table.increments();
9 table.string('workspaceId', 80).notNullable().unique(); 9 table.string('workspaceId', 80).notNullable().unique();
10 table.string('userId', 80).notNullable(); 10 table.string('userId', 80).notNullable();
@@ -16,9 +16,7 @@ class WorkspaceSchema extends Schema {
16 }); 16 });
17 } 17 }
18 18
19 down() { 19 public async down(): Promise<void> {
20 this.drop('workspaces'); 20 this.schema.dropTable(this.tableName);
21 } 21 }
22} 22}
23
24module.exports = WorkspaceSchema;
diff --git a/database/migrations/1612629845398_users_update_schema.js b/database/migrations/1612629845398_users_update_schema.js
deleted file mode 100644
index 10b82aa..0000000
--- a/database/migrations/1612629845398_users_update_schema.js
+++ /dev/null
@@ -1,18 +0,0 @@
1/** @type {import('@adonisjs/lucid/src/Schema')} */
2const Schema = use('Schema');
3
4class UsersUpdateSchema extends Schema {
5 up() {
6 this.table('users', (table) => {
7 table.string('lastname', 80).notNullable().default('');
8 });
9 }
10
11 down() {
12 this.table('users', (table) => {
13 table.dropColumn('lastname');
14 });
15 }
16}
17
18module.exports = UsersUpdateSchema;
diff --git a/database/migrations/1612629845398_users_update_schema.ts b/database/migrations/1612629845398_users_update_schema.ts
new file mode 100644
index 0000000..8831ea4
--- /dev/null
+++ b/database/migrations/1612629845398_users_update_schema.ts
@@ -0,0 +1,15 @@
1import BaseSchema from '@ioc:Adonis/Lucid/Schema';
2
3export default class extends BaseSchema {
4 public async up(): Promise<void> {
5 this.schema.alterTable('users', table => {
6 table.string('lastname', 80).notNullable().defaultTo('');
7 });
8 }
9
10 public async down(): Promise<void> {
11 this.schema.alterTable('users', table => {
12 table.dropColumn('lastname');
13 });
14 }
15}
diff --git a/database/migrations/1658076326250_correct_token_relations.ts b/database/migrations/1658076326250_correct_token_relations.ts
new file mode 100644
index 0000000..5486657
--- /dev/null
+++ b/database/migrations/1658076326250_correct_token_relations.ts
@@ -0,0 +1,22 @@
1import BaseSchema from '@ioc:Adonis/Lucid/Schema';
2
3export default class extends BaseSchema {
4 protected tableName = 'tokens';
5
6 public async up(): Promise<void> {
7 await this.db.rawQuery(
8 'DELETE FROM tokens WHERE user_id NOT IN (SELECT id FROM users)',
9 );
10
11 this.schema.alterTable(this.tableName, table => {
12 table.dropForeign('user_id');
13
14 table.foreign('user_id').references('users.id').onDelete('cascade');
15 });
16 }
17
18 public async down(): Promise<void> {
19 // Don't set it back withouth onDelete as the
20 // tests will break.
21 }
22}
diff --git a/database/migrations/1696110557648_jwt_tokens.ts b/database/migrations/1696110557648_jwt_tokens.ts
new file mode 100644
index 0000000..9400de7
--- /dev/null
+++ b/database/migrations/1696110557648_jwt_tokens.ts
@@ -0,0 +1,29 @@
1import BaseSchema from '@ioc:Adonis/Lucid/Schema';
2
3export default class JwtTokens extends BaseSchema {
4 protected tableName = 'jwt_tokens';
5
6 public async up() {
7 this.schema.createTable(this.tableName, table => {
8 table.increments('id').primary();
9 table
10 .integer('user_id')
11 .unsigned()
12 .references('users.id')
13 .onDelete('CASCADE');
14 table.string('name').notNullable();
15 table.string('type').notNullable();
16 table.string('token', 64).notNullable().unique();
17 table.timestamp('expires_at', { useTz: true }).nullable();
18 table.string('refresh_token').notNullable().unique().index();
19 table
20 .timestamp('refresh_token_expires_at', { useTz: true })
21 .notNullable();
22 table.timestamp('created_at', { useTz: true }).notNullable();
23 });
24 }
25
26 public async down() {
27 this.schema.dropTable(this.tableName);
28 }
29}