feat(db): update database migrations and schema relations
- Update drizzle migrations (0000, 0001, 0002) and meta snapshots - Update DB relations definition
This commit is contained in:
@@ -35,6 +35,8 @@ import {
|
|||||||
attendanceRecords,
|
attendanceRecords,
|
||||||
attendanceRules,
|
attendanceRules,
|
||||||
passwordSecurity,
|
passwordSecurity,
|
||||||
|
errorBookItems,
|
||||||
|
errorBookReviews,
|
||||||
} from "./schema";
|
} from "./schema";
|
||||||
|
|
||||||
// --- Users & Roles Relations ---
|
// --- Users & Roles Relations ---
|
||||||
@@ -55,6 +57,8 @@ export const usersRelations = relations(users, ({ many, one }) => ({
|
|||||||
receivedMessages: many(messages, { relationName: "message_receiver" }),
|
receivedMessages: many(messages, { relationName: "message_receiver" }),
|
||||||
notifications: many(messageNotifications),
|
notifications: many(messageNotifications),
|
||||||
passwordSecurity: one(passwordSecurity),
|
passwordSecurity: one(passwordSecurity),
|
||||||
|
errorBookItems: many(errorBookItems),
|
||||||
|
errorBookReviews: many(errorBookReviews),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
export const accountsRelations = relations(accounts, ({ one }) => ({
|
export const accountsRelations = relations(accounts, ({ one }) => ({
|
||||||
@@ -103,12 +107,15 @@ export const questionsRelations = relations(questions, ({ one, many }) => ({
|
|||||||
children: many(questions, {
|
children: many(questions, {
|
||||||
relationName: "question_hierarchy",
|
relationName: "question_hierarchy",
|
||||||
}),
|
}),
|
||||||
|
|
||||||
// Many-to-Many with Knowledge Points (Direct relation mapping)
|
// Many-to-Many with Knowledge Points (Direct relation mapping)
|
||||||
knowledgePoints: many(questionsToKnowledgePoints),
|
knowledgePoints: many(questionsToKnowledgePoints),
|
||||||
|
|
||||||
// Usage in Exams
|
// Usage in Exams
|
||||||
examQuestions: many(examQuestions),
|
examQuestions: many(examQuestions),
|
||||||
|
|
||||||
|
// Error book items referencing this question
|
||||||
|
errorBookItems: many(errorBookItems),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
export const knowledgePointsRelations = relations(knowledgePoints, ({ one, many }) => ({
|
export const knowledgePointsRelations = relations(knowledgePoints, ({ one, many }) => ({
|
||||||
@@ -484,3 +491,32 @@ export const passwordSecurityRelations = relations(passwordSecurity, ({ one }) =
|
|||||||
references: [users.id],
|
references: [users.id],
|
||||||
}),
|
}),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
// --- Error Book Relations ---
|
||||||
|
|
||||||
|
export const errorBookItemsRelations = relations(errorBookItems, ({ one, many }) => ({
|
||||||
|
student: one(users, {
|
||||||
|
fields: [errorBookItems.studentId],
|
||||||
|
references: [users.id],
|
||||||
|
}),
|
||||||
|
question: one(questions, {
|
||||||
|
fields: [errorBookItems.questionId],
|
||||||
|
references: [questions.id],
|
||||||
|
}),
|
||||||
|
subject: one(subjects, {
|
||||||
|
fields: [errorBookItems.subjectId],
|
||||||
|
references: [subjects.id],
|
||||||
|
}),
|
||||||
|
reviews: many(errorBookReviews),
|
||||||
|
}));
|
||||||
|
|
||||||
|
export const errorBookReviewsRelations = relations(errorBookReviews, ({ one }) => ({
|
||||||
|
item: one(errorBookItems, {
|
||||||
|
fields: [errorBookReviews.itemId],
|
||||||
|
references: [errorBookItems.id],
|
||||||
|
}),
|
||||||
|
student: one(users, {
|
||||||
|
fields: [errorBookReviews.studentId],
|
||||||
|
references: [users.id],
|
||||||
|
}),
|
||||||
|
}));
|
||||||
|
|||||||
Reference in New Issue
Block a user