import { sql } from "drizzle-orm";
import {
index,
pgSchema,
pgTable,
primaryKey,
timestamp,
uuid,
} from "drizzle-orm/pg-core";
import { customers } from "./customers";
export const authSchema = pgSchema("auth");
export const users = authSchema.table("users", { id: uuid("id") });
export const profiles = pgTable(
"profiles",
{
id: uuid("id").default(sql`gen_random_uuid()`),
user_id: uuid("user_id")
.notNull()
.references(() => users.id), // <- This references users table inside auth schema
customer_id: uuid("customer_id")
.notNull()
.references(() => customers.id, { onDelete: "cascade" }),
created_at: timestamp("created_at", { withTimezone: true })
.default(sql`now()`)
.notNull(),
},
(table) => ({
pk: primaryKey(table.id, table.user_id),
customer_idx: index("customer_idx").on(table.customer_id),
}),
);
import { sql } from "drizzle-orm";
import {
index,
pgSchema,
pgTable,
primaryKey,
timestamp,
uuid,
} from "drizzle-orm/pg-core";
import { customers } from "./customers";
export const authSchema = pgSchema("auth");
export const users = authSchema.table("users", { id: uuid("id") });
export const profiles = pgTable(
"profiles",
{
id: uuid("id").default(sql`gen_random_uuid()`),
user_id: uuid("user_id")
.notNull()
.references(() => users.id), // <- This references users table inside auth schema
customer_id: uuid("customer_id")
.notNull()
.references(() => customers.id, { onDelete: "cascade" }),
created_at: timestamp("created_at", { withTimezone: true })
.default(sql`now()`)
.notNull(),
},
(table) => ({
pk: primaryKey(table.id, table.user_id),
customer_idx: index("customer_idx").on(table.customer_id),
}),
);