Issue table

This commit is contained in:
Oliver Bryan
2025-12-08 00:04:42 +00:00
parent 100b916d5d
commit b324ab3e2f

View File

@@ -1,4 +1,4 @@
import { integer, pgTable, varchar } from "drizzle-orm/pg-core";
import { integer, pgTable, uniqueIndex, varchar } from "drizzle-orm/pg-core";
export const User = pgTable("User", {
id: integer().primaryKey().generatedAlwaysAsIdentity(),
@@ -14,3 +14,23 @@ export const Project = pgTable("Project", {
.notNull()
.references(() => User.id),
});
export const Issue = pgTable(
"Issue",
{
id: integer().primaryKey().generatedAlwaysAsIdentity(),
projectId: integer()
.notNull()
.references(() => Project.id),
number: integer("number").notNull(),
title: varchar({ length: 256 }).notNull(),
description: varchar({ length: 2048 }).notNull(),
},
(t) => [
// ensures unique numbers per project
// you can have Issue 1 in PROJ and Issue 1 in TEST, but not two Issue 1s in PROJ
uniqueIndex("unique_project_issue_number").on(t.projectId, t.number),
],
);