操作
バグ #713
完了GitHub #21: fix: timetable_slots migrationのSQLite互換性を解消する
ステータス:
完了
優先度:
A
担当者:
-
開始日:
2026/07/30
期日:
進捗率:
100%
予定工数:
説明
GitHub Issue: https://github.com/iplusone/online-study-system/issues/21
背景
GitHub #20(Redmine #712)のFeatureテストは、既存のtimetable_slots migrationがSQLiteでサポートされないALTER TABLE ... ADD CONSTRAINT ... CHECK (...)を実行するため、テストDB初期化前に失敗していた。#20の対象外として切り出した。
実施済み
- SQLite用にはBEFORE INSERT/UPDATEトリガー(RAISE)でends_at > starts_at制約を代替
- MySQL/pgsqlでは従来どおりALTER TABLE ADD CONSTRAINTを実行するようドライバ分岐
検証結果
php artisan testでLaravel全体19件・49 assertions成功(TimetableSlotTest 3件、CurriculumTest 4件を含む)
未確認
MySQL本番環境でのCHECK制約の実動作は別途確認が必要
更新docs
- docs/progress-status.md
- docs/test-strategy.md
操作