From d867dc4b8abd519fc8d3fb2ae9e1519e270cbfb0 Mon Sep 17 00:00:00 2001 From: Lars Hampe Date: Fri, 1 Nov 2024 21:13:06 +0100 Subject: [PATCH] feat(database): extend changelog schema with: isConventional boolean --- .../src/migrations/0006_pretty_maginty.sql | 1 + .../src/migrations/meta/0006_snapshot.json | 528 ++++++++++++++++++ .../src/migrations/meta/_journal.json | 7 + packages/database/src/schema/changelog.ts | 1 + 4 files changed, 537 insertions(+) create mode 100644 packages/database/src/migrations/0006_pretty_maginty.sql create mode 100644 packages/database/src/migrations/meta/0006_snapshot.json diff --git a/packages/database/src/migrations/0006_pretty_maginty.sql b/packages/database/src/migrations/0006_pretty_maginty.sql new file mode 100644 index 0000000..fb046aa --- /dev/null +++ b/packages/database/src/migrations/0006_pretty_maginty.sql @@ -0,0 +1 @@ +ALTER TABLE "changelog" ADD COLUMN "isConventional" boolean DEFAULT true; \ No newline at end of file diff --git a/packages/database/src/migrations/meta/0006_snapshot.json b/packages/database/src/migrations/meta/0006_snapshot.json new file mode 100644 index 0000000..88e8ec2 --- /dev/null +++ b/packages/database/src/migrations/meta/0006_snapshot.json @@ -0,0 +1,528 @@ +{ + "id": "5cd85168-eaf9-4071-be24-3a5ff9430629", + "prevId": "39fd75cc-7a80-4e4b-817f-394bbf086262", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.access_token": { + "name": "access_token", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "userId": { + "name": "userId", + "type": "varchar(32)", + "primaryKey": false, + "notNull": false + }, + "token": { + "name": "token", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "lastUsedOn": { + "name": "lastUsedOn", + "type": "timestamp", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": { + "access_token_userId_user_id_fk": { + "name": "access_token_userId_user_id_fk", + "tableFrom": "access_token", + "tableTo": "user", + "columnsFrom": [ + "userId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "public.changelog": { + "name": "changelog", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "default": "now()" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "userId": { + "name": "userId", + "type": "varchar(32)", + "primaryKey": false, + "notNull": false + }, + "pageId": { + "name": "pageId", + "type": "uuid", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "varchar(256)", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "isSemver": { + "name": "isSemver", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "isConventional": { + "name": "isConventional", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + } + }, + "indexes": {}, + "foreignKeys": { + "changelog_userId_user_id_fk": { + "name": "changelog_userId_user_id_fk", + "tableFrom": "changelog", + "tableTo": "user", + "columnsFrom": [ + "userId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "changelog_pageId_page_id_fk": { + "name": "changelog_pageId_page_id_fk", + "tableFrom": "changelog", + "tableTo": "page", + "columnsFrom": [ + "pageId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "public.changelog_commit": { + "name": "changelog_commit", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "changelogId": { + "name": "changelogId", + "type": "uuid", + "primaryKey": false, + "notNull": false + }, + "versionId": { + "name": "versionId", + "type": "uuid", + "primaryKey": false, + "notNull": false + }, + "commit": { + "name": "commit", + "type": "varchar(8)", + "primaryKey": false, + "notNull": true + }, + "parent": { + "name": "parent", + "type": "varchar(8)", + "primaryKey": false, + "notNull": false + }, + "subject": { + "name": "subject", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "author": { + "name": "author", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "comitter": { + "name": "comitter", + "type": "json", + "primaryKey": false, + "notNull": false + }, + "body": { + "name": "body", + "type": "text", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "unique": { + "name": "unique", + "columns": [ + { + "expression": "changelogId", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "commit", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "changelog_commit_changelogId_changelog_id_fk": { + "name": "changelog_commit_changelogId_changelog_id_fk", + "tableFrom": "changelog_commit", + "tableTo": "changelog", + "columnsFrom": [ + "changelogId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "changelog_commit_versionId_changelog_version_id_fk": { + "name": "changelog_commit_versionId_changelog_version_id_fk", + "tableFrom": "changelog_commit", + "tableTo": "changelog_version", + "columnsFrom": [ + "versionId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "no action", + "onUpdate": "set null" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "public.changelog_version": { + "name": "changelog_version", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "createdAt": { + "name": "createdAt", + "type": "timestamp", + "primaryKey": false, + "notNull": false, + "default": "now()" + }, + "updatedAt": { + "name": "updatedAt", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "releasedAt": { + "name": "releasedAt", + "type": "timestamp", + "primaryKey": false, + "notNull": false + }, + "changelogId": { + "name": "changelogId", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "version": { + "name": "version", + "type": "varchar(32)", + "primaryKey": false, + "notNull": true + }, + "markdown": { + "name": "markdown", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'draft'" + } + }, + "indexes": {}, + "foreignKeys": { + "changelog_version_changelogId_changelog_id_fk": { + "name": "changelog_version_changelogId_changelog_id_fk", + "tableFrom": "changelog_version", + "tableTo": "changelog", + "columnsFrom": [ + "changelogId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "public.changelogs_to_pages": { + "name": "changelogs_to_pages", + "schema": "", + "columns": { + "changelogId": { + "name": "changelogId", + "type": "uuid", + "primaryKey": false, + "notNull": true + }, + "pageId": { + "name": "pageId", + "type": "uuid", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": { + "changelogs_to_pages_changelogId_changelog_id_fk": { + "name": "changelogs_to_pages_changelogId_changelog_id_fk", + "tableFrom": "changelogs_to_pages", + "tableTo": "changelog", + "columnsFrom": [ + "changelogId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "changelogs_to_pages_pageId_page_id_fk": { + "name": "changelogs_to_pages_pageId_page_id_fk", + "tableFrom": "changelogs_to_pages", + "tableTo": "page", + "columnsFrom": [ + "pageId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": { + "changelogs_to_pages_changelogId_pageId_pk": { + "name": "changelogs_to_pages_changelogId_pageId_pk", + "columns": [ + "changelogId", + "pageId" + ] + } + }, + "uniqueConstraints": {} + }, + "public.page": { + "name": "page", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "uuid", + "primaryKey": true, + "notNull": true, + "default": "gen_random_uuid()" + }, + "userId": { + "name": "userId", + "type": "varchar(32)", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "text", + "primaryKey": false, + "notNull": false, + "default": "''" + } + }, + "indexes": {}, + "foreignKeys": { + "page_userId_user_id_fk": { + "name": "page_userId_user_id_fk", + "tableFrom": "page", + "tableTo": "user", + "columnsFrom": [ + "userId" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + }, + "public.user": { + "name": "user", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "varchar(32)", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "text", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "text", + "primaryKey": false, + "notNull": true + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": { + "user_email_unique": { + "name": "user_email_unique", + "nullsNotDistinct": false, + "columns": [ + "email" + ] + } + } + } + }, + "enums": { + "public.status": { + "name": "status", + "schema": "public", + "values": [ + "draft", + "review", + "published" + ] + } + }, + "schemas": {}, + "sequences": {}, + "_meta": { + "columns": {}, + "schemas": {}, + "tables": {} + } +} \ No newline at end of file diff --git a/packages/database/src/migrations/meta/_journal.json b/packages/database/src/migrations/meta/_journal.json index 18ec30c..feb4e36 100644 --- a/packages/database/src/migrations/meta/_journal.json +++ b/packages/database/src/migrations/meta/_journal.json @@ -43,6 +43,13 @@ "when": 1730406390071, "tag": "0005_brief_polaris", "breakpoints": true + }, + { + "idx": 6, + "version": "7", + "when": 1730465968252, + "tag": "0006_pretty_maginty", + "breakpoints": true } ] } \ No newline at end of file diff --git a/packages/database/src/schema/changelog.ts b/packages/database/src/schema/changelog.ts index 832ba46..0ac1976 100644 --- a/packages/database/src/schema/changelog.ts +++ b/packages/database/src/schema/changelog.ts @@ -28,6 +28,7 @@ export const changelog = pgTable('changelog', { title: varchar('title', { length: 256 }), description: text('description'), isSemver: boolean('isSemver').default(true), + isConventional: boolean('isConventional').default(true), }) export const changelogs_to_pages = pgTable(