import { column } from "@alpha.consultings/eloquent-orm.js";
import { SqlModel, type ModelInstance } from "@alpha.consultings/eloquent-orm.js/Model";
type UserAttrs = {
id?: number;
name?: string;
email?: string;
created_at?: string | Date | null;
updated_at?: string | Date | null;
};
export class User extends SqlModel<UserAttrs> {
static tableName = "users";
static connectionName = process.env.DB_CONNECTION ?? "sqlite";
static schema = {
id: column("increments", undefined, { primary: true }),
name: column("string", 255),
email: column("string", 255, { unique: true }),
created_at: column("timestamp", undefined, { useTz: true }),
updated_at: column("timestamp", undefined, { useTz: true }),
};
constructor() {
super("users", process.env.DB_CONNECTION ?? "sqlite");
}
}
export interface User extends ModelInstance<UserAttrs> {}