upsertCourse method
Returns the ID of an existing course row, or creates/updates one.
Implementation
Future<int> upsertCourse({
required String code,
required double credits,
required int hours,
required String nameZh,
String? nameEn,
}) async {
return (await into(courses).insertReturning(
CoursesCompanion.insert(
code: code,
credits: credits,
hours: hours,
nameZh: nameZh,
nameEn: Value(nameEn),
),
onConflict: DoUpdate(
(old) => CoursesCompanion(
credits: Value(credits),
hours: Value(hours),
nameZh: Value(nameZh),
nameEn: Value.absentIfNull(nameEn),
),
target: [courses.code],
),
)).id;
}