getOrCreateSemester method

Future<int> getOrCreateSemester(
  1. int year,
  2. int term
)

Returns the ID of an existing semester row, or creates one if missing.

Implementation

Future<int> getOrCreateSemester(int year, int term) async {
  return (await into(semesters).insertReturning(
    SemestersCompanion.insert(year: year, term: term),
    onConflict: DoUpdate(
      (old) => SemestersCompanion(year: Value(year), term: Value(term)),
      target: [semesters.year, semesters.term],
    ),
  )).id;
}