CREATE TABLE IF NOT EXISTS time_reports (
  id INTEGER PRIMARY KEY,
  reportId TEXT DEFAULT (HEX(RANDOMBLOB(6))) NOT NULL UNIQUE,
  project_id INTEGER NOT NULL,
  start DATETIME NOT NULL,
  end DATETIME NOT NULL,
  FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE
);

CREATE TRIGGER IF NOT EXISTS time_reports_start_before_end
  BEFORE INSERT ON time_reports
  FOR EACH ROW
  BEGIN
    SELECT
      CASE
        WHEN NEW.start >= NEW.end THEN
          RAISE (ABORT, 'start must be before end')
      END;
  END;