workspace.sql.ts 651 B

12345678910111213141516171819202122232425
  1. import { primaryKey, foreignKey, pgTable, uniqueIndex, varchar } from "drizzle-orm/pg-core"
  2. import { timestamps, ulid } from "../drizzle/types"
  3. export const WorkspaceTable = pgTable(
  4. "workspace",
  5. {
  6. id: ulid("id").notNull().primaryKey(),
  7. slug: varchar("slug", { length: 255 }),
  8. name: varchar("name", { length: 255 }),
  9. ...timestamps,
  10. },
  11. (table) => [uniqueIndex("slug").on(table.slug)],
  12. )
  13. export function workspaceIndexes(table: any) {
  14. return [
  15. primaryKey({
  16. columns: [table.workspaceID, table.id],
  17. }),
  18. foreignKey({
  19. foreignColumns: [WorkspaceTable.id],
  20. columns: [table.workspaceID],
  21. }),
  22. ]
  23. }