'
BEGIN TRANSACTION;

--
-- Table: classes
--
CREATE TABLE classes (
  id INTEGER PRIMARY KEY NOT NULL,
  name varchar NOT NULL
);

CREATE INDEX pk_id ON classes (id);

--
-- Table: errors
--
CREATE TABLE errors (
  code int NOT NULL,
  id INTEGER PRIMARY KEY NOT NULL,
  message varchar NOT NULL
);

CREATE INDEX pk_id02 ON errors (id);

--
-- Table: students
--
CREATE TABLE students (
  id INTEGER PRIMARY KEY NOT NULL,
  name varchar NOT NULL
);

CREATE INDEX pk_id03 ON students (id);

--
-- Table: class_backupclass_student_participants
--
CREATE TABLE class_backupclass_student_participants (
  backupclass_id bigint NOT NULL,
  participant_id int NOT NULL,
  PRIMARY KEY (backupclass_id, participant_id),
  FOREIGN KEY (backupclass_id) REFERENCES classes(id),
  FOREIGN KEY (participant_id) REFERENCES students(id)
);

CREATE INDEX pk_backupclass_id_participant_id ON class_backupclass_student_participants (backupclass_id, participant_id);

--
-- Table: class_mainclass_student_participants
--
CREATE TABLE class_mainclass_student_participants (
  mainclass_id bigint NOT NULL,
  participant_id int NOT NULL,
  PRIMARY KEY (mainclass_id, participant_id),
  FOREIGN KEY (mainclass_id) REFERENCES classes(id),
  FOREIGN KEY (participant_id) REFERENCES students(id)
);

CREATE INDEX pk_mainclass_id_participant_id ON class_mainclass_student_participants (mainclass_id, participant_id);

COMMIT;'