353 lines
11 KiB
JSON
353 lines
11 KiB
JSON
{
|
|
"formatVersion": 1,
|
|
"database": {
|
|
"version": 3,
|
|
"identityHash": "b1845a8512e3ad07c3888274ed6a6594",
|
|
"entities": [
|
|
{
|
|
"tableName": "lecture",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`subject_name` TEXT NOT NULL, `academic_year` INTEGER NOT NULL, `degree` TEXT NOT NULL, `subgroup` INTEGER NOT NULL, `professor_email` TEXT NOT NULL, `room_number` INTEGER NOT NULL, `room_floor` INTEGER NOT NULL, `room_building` TEXT NOT NULL, `start_date` INTEGER NOT NULL, `end_date` INTEGER NOT NULL, PRIMARY KEY(`subject_name`, `academic_year`, `degree`, `subgroup`, `start_date`), FOREIGN KEY(`room_building`) REFERENCES `building`(`id`) ON UPDATE NO ACTION ON DELETE CASCADE , FOREIGN KEY(`professor_email`) REFERENCES `professor`(`email`) ON UPDATE NO ACTION ON DELETE CASCADE )",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "subjectName",
|
|
"columnName": "subject_name",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "academicYear",
|
|
"columnName": "academic_year",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "degree",
|
|
"columnName": "degree",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "subgroup",
|
|
"columnName": "subgroup",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "professorEmail",
|
|
"columnName": "professor_email",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "roomNumber",
|
|
"columnName": "room_number",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "roomFloor",
|
|
"columnName": "room_floor",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "roomBuilding",
|
|
"columnName": "room_building",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "startDate",
|
|
"columnName": "start_date",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "endDate",
|
|
"columnName": "end_date",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"subject_name",
|
|
"academic_year",
|
|
"degree",
|
|
"subgroup",
|
|
"start_date"
|
|
],
|
|
"autoGenerate": false
|
|
},
|
|
"indices": [
|
|
{
|
|
"name": "index_lecture_academic_year_start_date_subgroup",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"academic_year",
|
|
"start_date",
|
|
"subgroup"
|
|
],
|
|
"orders": [],
|
|
"createSql": "CREATE INDEX IF NOT EXISTS `index_lecture_academic_year_start_date_subgroup` ON `${TABLE_NAME}` (`academic_year`, `start_date`, `subgroup`)"
|
|
},
|
|
{
|
|
"name": "index_lecture_professor_email",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"professor_email"
|
|
],
|
|
"orders": [],
|
|
"createSql": "CREATE INDEX IF NOT EXISTS `index_lecture_professor_email` ON `${TABLE_NAME}` (`professor_email`)"
|
|
},
|
|
{
|
|
"name": "index_lecture_room_building",
|
|
"unique": false,
|
|
"columnNames": [
|
|
"room_building"
|
|
],
|
|
"orders": [],
|
|
"createSql": "CREATE INDEX IF NOT EXISTS `index_lecture_room_building` ON `${TABLE_NAME}` (`room_building`)"
|
|
}
|
|
],
|
|
"foreignKeys": [
|
|
{
|
|
"table": "building",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "NO ACTION",
|
|
"columns": [
|
|
"room_building"
|
|
],
|
|
"referencedColumns": [
|
|
"id"
|
|
]
|
|
},
|
|
{
|
|
"table": "professor",
|
|
"onDelete": "CASCADE",
|
|
"onUpdate": "NO ACTION",
|
|
"columns": [
|
|
"professor_email"
|
|
],
|
|
"referencedColumns": [
|
|
"email"
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"tableName": "building",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `abbreviation` TEXT NOT NULL, `name` TEXT NOT NULL, `address` TEXT NOT NULL, PRIMARY KEY(`id`))",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "id",
|
|
"columnName": "id",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "abbreviation",
|
|
"columnName": "abbreviation",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "name",
|
|
"columnName": "name",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "address",
|
|
"columnName": "address",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"id"
|
|
],
|
|
"autoGenerate": false
|
|
},
|
|
"indices": [],
|
|
"foreignKeys": []
|
|
},
|
|
{
|
|
"tableName": "professor",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`name` TEXT NOT NULL, `surname` TEXT NOT NULL, `email` TEXT NOT NULL, PRIMARY KEY(`email`))",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "name",
|
|
"columnName": "name",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "surname",
|
|
"columnName": "surname",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "email",
|
|
"columnName": "email",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"email"
|
|
],
|
|
"autoGenerate": false
|
|
},
|
|
"indices": [],
|
|
"foreignKeys": []
|
|
},
|
|
{
|
|
"tableName": "student",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`ldap` TEXT NOT NULL, `email` TEXT NOT NULL, `name` TEXT NOT NULL, `surname` TEXT NOT NULL, `enrolled_degree` TEXT NOT NULL, PRIMARY KEY(`ldap`))",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "ldap",
|
|
"columnName": "ldap",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "email",
|
|
"columnName": "email",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "name",
|
|
"columnName": "name",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "surname",
|
|
"columnName": "surname",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "enrolledDegree",
|
|
"columnName": "enrolled_degree",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"ldap"
|
|
],
|
|
"autoGenerate": false
|
|
},
|
|
"indices": [],
|
|
"foreignKeys": []
|
|
},
|
|
{
|
|
"tableName": "lecture_reminders",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`student_ldap` TEXT NOT NULL, `lecture_room` TEXT NOT NULL, `subject` TEXT NOT NULL, `degree` TEXT NOT NULL, `lecture_date` INTEGER NOT NULL, PRIMARY KEY(`student_ldap`, `lecture_room`, `subject`, `degree`, `lecture_date`))",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "studentLdap",
|
|
"columnName": "student_ldap",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "lectureRoom",
|
|
"columnName": "lecture_room",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "subject",
|
|
"columnName": "subject",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "degree",
|
|
"columnName": "degree",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "lectureDate",
|
|
"columnName": "lecture_date",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"student_ldap",
|
|
"lecture_room",
|
|
"subject",
|
|
"degree",
|
|
"lecture_date"
|
|
],
|
|
"autoGenerate": false
|
|
},
|
|
"indices": [],
|
|
"foreignKeys": []
|
|
},
|
|
{
|
|
"tableName": "tutorial_reminders",
|
|
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`student_ldap` TEXT NOT NULL, `professor_full_name` TEXT NOT NULL, `professor_email` TEXT NOT NULL, `lecture_room` TEXT NOT NULL, `tutorial_date` INTEGER NOT NULL, PRIMARY KEY(`student_ldap`, `tutorial_date`, `professor_email`))",
|
|
"fields": [
|
|
{
|
|
"fieldPath": "studentLdap",
|
|
"columnName": "student_ldap",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "professorFullName",
|
|
"columnName": "professor_full_name",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "professorEmail",
|
|
"columnName": "professor_email",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "lectureRoom",
|
|
"columnName": "lecture_room",
|
|
"affinity": "TEXT",
|
|
"notNull": true
|
|
},
|
|
{
|
|
"fieldPath": "tutorialDate",
|
|
"columnName": "tutorial_date",
|
|
"affinity": "INTEGER",
|
|
"notNull": true
|
|
}
|
|
],
|
|
"primaryKey": {
|
|
"columnNames": [
|
|
"student_ldap",
|
|
"tutorial_date",
|
|
"professor_email"
|
|
],
|
|
"autoGenerate": false
|
|
},
|
|
"indices": [],
|
|
"foreignKeys": []
|
|
}
|
|
],
|
|
"views": [],
|
|
"setupQueries": [
|
|
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
|
|
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'b1845a8512e3ad07c3888274ed6a6594')"
|
|
]
|
|
}
|
|
} |