export const studentsTable = pgTable("students", {
id: integer().primaryKey().generatedAlwaysAsIdentity(),
firstName: varchar({ length: 255 }).notNull(),
lastName: varchar({ length: 255 }).notNull(),
birthDate: date(),
isActive: boolean().notNull().default(true),
email: varchar({ length: 255 }).notNull().unique(),
dormId: integer().references(() => dormsTable.id),
...timestamps,
});
export const dormsTable = pgTable(
"dorms",
{
id: integer().primaryKey().generatedAlwaysAsIdentity(),
name: varchar({ length: 255 }).notNull(),
shorty: varchar({ length: 3 }).notNull(),
...timestamps,
},
(table) => [
check(
"check_shorty_length_and_format",
sql`CHAR_LENGTH(${table.shorty}) = 3 AND ${table.shorty} ~ '^[a-zA-Z]+$'`,
),
],
);
export const studentsTable = pgTable("students", {
id: integer().primaryKey().generatedAlwaysAsIdentity(),
firstName: varchar({ length: 255 }).notNull(),
lastName: varchar({ length: 255 }).notNull(),
birthDate: date(),
isActive: boolean().notNull().default(true),
email: varchar({ length: 255 }).notNull().unique(),
dormId: integer().references(() => dormsTable.id),
...timestamps,
});
export const dormsTable = pgTable(
"dorms",
{
id: integer().primaryKey().generatedAlwaysAsIdentity(),
name: varchar({ length: 255 }).notNull(),
shorty: varchar({ length: 3 }).notNull(),
...timestamps,
},
(table) => [
check(
"check_shorty_length_and_format",
sql`CHAR_LENGTH(${table.shorty}) = 3 AND ${table.shorty} ~ '^[a-zA-Z]+$'`,
),
],
);