diff --git a/apps/backend/src/drizzle/migrations/0005_curious_ben_grimm.sql b/apps/backend/src/drizzle/migrations/0005_curious_ben_grimm.sql new file mode 100644 index 0000000..f83472a --- /dev/null +++ b/apps/backend/src/drizzle/migrations/0005_curious_ben_grimm.sql @@ -0,0 +1,7 @@ +ALTER TABLE "permissions_to_roles" DROP CONSTRAINT "permissions_to_roles_roleId_users_id_fk"; +--> statement-breakpoint +DO $$ BEGIN + ALTER TABLE "permissions_to_roles" ADD CONSTRAINT "permissions_to_roles_roleId_roles_id_fk" FOREIGN KEY ("roleId") REFERENCES "roles"("id") ON DELETE no action ON UPDATE no action; +EXCEPTION + WHEN duplicate_object THEN null; +END $$; diff --git a/apps/backend/src/drizzle/migrations/meta/0005_snapshot.json b/apps/backend/src/drizzle/migrations/meta/0005_snapshot.json new file mode 100644 index 0000000..1b6b9ec --- /dev/null +++ b/apps/backend/src/drizzle/migrations/meta/0005_snapshot.json @@ -0,0 +1,367 @@ +{ + "id": "187e38ed-79a7-4456-82e3-04ac498c39f0", + "prevId": "06ebf3b9-d0c5-414c-bcab-9f22fab750c4", + "version": "5", + "dialect": "pg", + "tables": { + "permissions": { + "name": "permissions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "code": { + "name": "code", + "type": "varchar(50)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "permissions_code_unique": { + "name": "permissions_code_unique", + "nullsNotDistinct": false, + "columns": [ + "code" + ] + } + } + }, + "permissions_to_roles": { + "name": "permissions_to_roles", + "schema": "", + "columns": { + "roleId": { + "name": "roleId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "permissionId": { + "name": "permissionId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "permissions_to_roles_roleId_roles_id_fk": { + "name": "permissions_to_roles_roleId_roles_id_fk", + "tableFrom": "permissions_to_roles", + "tableTo": "roles", + "columnsFrom": [ + "roleId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "permissions_to_roles_permissionId_permissions_id_fk": { + "name": "permissions_to_roles_permissionId_permissions_id_fk", + "tableFrom": "permissions_to_roles", + "tableTo": "permissions", + "columnsFrom": [ + "permissionId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "permissions_to_roles_roleId_permissionId_pk": { + "name": "permissions_to_roles_roleId_permissionId_pk", + "columns": [ + "roleId", + "permissionId" + ] + } + }, + "uniqueConstraints": {} + }, + "permissions_to_users": { + "name": "permissions_to_users", + "schema": "", + "columns": { + "userId": { + "name": "userId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "permissionId": { + "name": "permissionId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "permissions_to_users_userId_users_id_fk": { + "name": "permissions_to_users_userId_users_id_fk", + "tableFrom": "permissions_to_users", + "tableTo": "users", + "columnsFrom": [ + "userId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "permissions_to_users_permissionId_permissions_id_fk": { + "name": "permissions_to_users_permissionId_permissions_id_fk", + "tableFrom": "permissions_to_users", + "tableTo": "permissions", + "columnsFrom": [ + "permissionId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "permissions_to_users_userId_permissionId_pk": { + "name": "permissions_to_users_userId_permissionId_pk", + "columns": [ + "userId", + "permissionId" + ] + } + }, + "uniqueConstraints": {} + }, + "roles": { + "name": "roles", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "code": { + "name": "code", + "type": "varchar(50)", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar(255)", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "default": "now()" + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "roles_code_unique": { + "name": "roles_code_unique", + "nullsNotDistinct": false, + "columns": [ + "code" + ] + } + } + }, + "roles_to_users": { + "name": "roles_to_users", + "schema": "", + "columns": { + "userId": { + "name": "userId", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "roleId": { + "name": "roleId", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "roles_to_users_userId_users_id_fk": { + "name": "roles_to_users_userId_users_id_fk", + "tableFrom": "roles_to_users", + "tableTo": "users", + "columnsFrom": [ + "userId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + }, + "roles_to_users_roleId_roles_id_fk": { + "name": "roles_to_users_roleId_roles_id_fk", + "tableFrom": "roles_to_users", + "tableTo": "roles", + "columnsFrom": [ + "roleId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "roles_to_users_userId_roleId_pk": { + "name": "roles_to_users_userId_roleId_pk", + "columns": [ + "userId", + "roleId" + ] + } + }, + "uniqueConstraints": {} + }, + "users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar(255)", + "primaryKey": false, + "notNull": true + }, + "username": { + "name": "username", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "password": { + "name": "password", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "is_enable": { + "name": "is_enable", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "default": "now()" + }, + "deleted_at": { + "name": "deleted_at", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "users_username_unique": { + "name": "users_username_unique", + "nullsNotDistinct": false, + "columns": [ + "username" + ] + } + } + } + }, + "enums": {}, + "schemas": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/apps/backend/src/drizzle/migrations/meta/_journal.json b/apps/backend/src/drizzle/migrations/meta/_journal.json index 66d0b64..819bfa3 100644 --- a/apps/backend/src/drizzle/migrations/meta/_journal.json +++ b/apps/backend/src/drizzle/migrations/meta/_journal.json @@ -36,6 +36,13 @@ "when": 1714321209072, "tag": "0004_uneven_jamie_braddock", "breakpoints": true + }, + { + "idx": 5, + "version": "5", + "when": 1714771975650, + "tag": "0005_curious_ben_grimm", + "breakpoints": true } ] } \ No newline at end of file