28 lines
634 B
TypeScript
Executable File
28 lines
634 B
TypeScript
Executable File
import { sql } from "drizzle-orm";
|
|
import {
|
|
index,
|
|
pgTableCreator,
|
|
serial,
|
|
timestamp,
|
|
varchar,
|
|
} from "drizzle-orm/pg-core";
|
|
|
|
export const createTable = pgTableCreator((name) => `${name}`);
|
|
|
|
export const posts = createTable(
|
|
"post",
|
|
{
|
|
id: serial("id").primaryKey(),
|
|
name: varchar("name", { length: 256 }),
|
|
createdAt: timestamp("created_at", { withTimezone: true })
|
|
.default(sql`CURRENT_TIMESTAMP`)
|
|
.notNull(),
|
|
updatedAt: timestamp("updated_at", { withTimezone: true }).$onUpdate(
|
|
() => new Date()
|
|
),
|
|
},
|
|
(example) => ({
|
|
nameIndex: index("name_idx").on(example.name),
|
|
})
|
|
);
|