- Added new course management functionalities in VocabController, including creating, updating, and deleting courses and lessons. - Implemented enrollment and progress tracking for courses, along with grammar exercise creation and management. - Updated database schema to include tables for courses, lessons, enrollments, and grammar exercises. - Enhanced frontend with new routes and views for course listing and details, including internationalization support for course-related texts. - Improved user experience by adding navigation to courses from the main vocab trainer view.
34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
/* eslint-disable */
|
|
'use strict';
|
|
|
|
module.exports = {
|
|
async up(queryInterface) {
|
|
// Lernziele für Lektionen
|
|
await queryInterface.sequelize.query(`
|
|
ALTER TABLE community.vocab_course_lesson
|
|
ADD COLUMN IF NOT EXISTS target_minutes INTEGER,
|
|
ADD COLUMN IF NOT EXISTS target_score_percent INTEGER DEFAULT 80,
|
|
ADD COLUMN IF NOT EXISTS requires_review BOOLEAN DEFAULT false;
|
|
`);
|
|
|
|
// Kommentare hinzufügen
|
|
await queryInterface.sequelize.query(`
|
|
COMMENT ON COLUMN community.vocab_course_lesson.target_minutes IS
|
|
'Zielzeit in Minuten für diese Lektion';
|
|
COMMENT ON COLUMN community.vocab_course_lesson.target_score_percent IS
|
|
'Mindestpunktzahl in Prozent zum Abschluss (z.B. 80)';
|
|
COMMENT ON COLUMN community.vocab_course_lesson.requires_review IS
|
|
'Muss diese Lektion wiederholt werden, wenn Ziel nicht erreicht?';
|
|
`);
|
|
},
|
|
|
|
async down(queryInterface) {
|
|
await queryInterface.sequelize.query(`
|
|
ALTER TABLE community.vocab_course_lesson
|
|
DROP COLUMN IF EXISTS target_minutes,
|
|
DROP COLUMN IF EXISTS target_score_percent,
|
|
DROP COLUMN IF EXISTS requires_review;
|
|
`);
|
|
}
|
|
};
|