first commit
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
// Database models — the source of truth. `wrnexus db new --from-models` generates
|
||||
// migrations from these, and query results are mapped back through them.
|
||||
import { v, table } from "@wrnexus/db";
|
||||
|
||||
export type User = {
|
||||
id: number;
|
||||
email: string;
|
||||
name: string;
|
||||
active: boolean;
|
||||
passwordHash: string;
|
||||
createdAt: Date;
|
||||
};
|
||||
|
||||
export const users = table<User>("users", {
|
||||
id: v.id(),
|
||||
email: v.string().unique(),
|
||||
name: v.string(),
|
||||
active: v.boolean().default(true),
|
||||
passwordHash: v.string().default(""),
|
||||
createdAt: v.timestamp().default("now"),
|
||||
});
|
||||
|
||||
export type Post = {
|
||||
id: number;
|
||||
userId: number;
|
||||
title: string;
|
||||
body: string;
|
||||
};
|
||||
|
||||
export const posts = table<Post>("posts", {
|
||||
id: v.id(),
|
||||
userId: v.int().references("users", "id"),
|
||||
title: v.string(),
|
||||
body: v.string(),
|
||||
});
|
||||
Reference in New Issue
Block a user