Initial commit
This commit is contained in:
15
db/index.ts
Normal file
15
db/index.ts
Normal file
@ -0,0 +1,15 @@
|
||||
import { drizzle } from "drizzle-orm/neon-serverless";
|
||||
import ws from "ws";
|
||||
import * as schema from "@db/schema";
|
||||
|
||||
if (!process.env.DATABASE_URL) {
|
||||
throw new Error(
|
||||
"DATABASE_URL must be set. Did you forget to provision a database?",
|
||||
);
|
||||
}
|
||||
|
||||
export const db = drizzle({
|
||||
connection: process.env.DATABASE_URL,
|
||||
schema,
|
||||
ws: ws,
|
||||
});
|
||||
13
db/schema.ts
Normal file
13
db/schema.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import { pgTable, text, serial, integer, boolean } from "drizzle-orm/pg-core";
|
||||
import { createInsertSchema, createSelectSchema } from "drizzle-zod";
|
||||
|
||||
export const users = pgTable("users", {
|
||||
id: serial("id").primaryKey(),
|
||||
username: text("username").unique().notNull(),
|
||||
password: text("password").notNull(),
|
||||
});
|
||||
|
||||
export const insertUserSchema = createInsertSchema(users);
|
||||
export const selectUserSchema = createSelectSchema(users);
|
||||
export type InsertUser = typeof users.$inferInsert;
|
||||
export type SelectUser = typeof users.$inferSelect;
|
||||
Reference in New Issue
Block a user