Various breaking changes to the database schema
This commit is contained in:
		
							parent
							
								
									229ebc3a08
								
							
						
					
					
						commit
						9d6cddb724
					
				
					 5 changed files with 16 additions and 5 deletions
				
			
		|  | @ -1,5 +1,9 @@ | ||||||
| CREATE TABLE IF NOT EXISTS users ( | CREATE TABLE IF NOT EXISTS users ( | ||||||
|   id INTEGER PRIMARY KEY, |   id INTEGER PRIMARY KEY, | ||||||
|  |   userId TEXT DEFAULT (HEX(RANDOMBLOB(4))) NOT NULL UNIQUE, | ||||||
|   username VARCHAR(255) NOT NULL UNIQUE, |   username VARCHAR(255) NOT NULL UNIQUE, | ||||||
|   password VARCHAR(255) NOT NULL |   password VARCHAR(255) NOT NULL | ||||||
| ); | ); | ||||||
|  | 
 | ||||||
|  | CREATE INDEX IF NOT EXISTS users_username_index ON users (username); | ||||||
|  | CREATE INDEX IF NOT EXISTS users_userId_index ON users (userId); | ||||||
|  | @ -1,7 +1,11 @@ | ||||||
| CREATE TABLE IF NOT EXISTS projects ( | CREATE TABLE IF NOT EXISTS projects ( | ||||||
|   id INTEGER PRIMARY KEY, |   id INTEGER PRIMARY KEY, | ||||||
|   name VARCHAR(255) NOT NULL, |   projectId TEXT DEFAULT (HEX(RANDOMBLOB(4))) NOT NULL UNIQUE, | ||||||
|  |   name VARCHAR(255) NOT NULL UNIQUE, | ||||||
|   description TEXT NOT NULL, |   description TEXT NOT NULL, | ||||||
|   user_id INTEGER NOT NULL, |   user_id INTEGER NOT NULL, | ||||||
|   FOREIGN KEY (user_id) REFERENCES users (id) |   FOREIGN KEY (user_id) REFERENCES users (id) | ||||||
| ); | ); | ||||||
|  | 
 | ||||||
|  | CREATE INDEX IF NOT EXISTS projects_projectId_index ON projects (projectId); | ||||||
|  | CREATE INDEX IF NOT EXISTS projects_user_id_index ON projects (user_id); | ||||||
|  | @ -1,9 +1,10 @@ | ||||||
| CREATE TABLE IF NOT EXISTS time_reports ( | CREATE TABLE IF NOT EXISTS time_reports ( | ||||||
|   id INTEGER PRIMARY KEY, |   id INTEGER PRIMARY KEY, | ||||||
|  |   reportId TEXT DEFAULT (HEX(RANDOMBLOB(6))) NOT NULL UNIQUE, | ||||||
|   project_id INTEGER NOT NULL, |   project_id INTEGER NOT NULL, | ||||||
|   start DATETIME NOT NULL, |   start DATETIME NOT NULL, | ||||||
|   end DATETIME NOT NULL, |   end DATETIME NOT NULL, | ||||||
|   FOREIGN KEY (project_id) REFERENCES projects (id) |   FOREIGN KEY (project_id) REFERENCES projects (id) ON DELETE CASCADE | ||||||
| ); | ); | ||||||
| 
 | 
 | ||||||
| CREATE TRIGGER IF NOT EXISTS time_reports_start_before_end | CREATE TRIGGER IF NOT EXISTS time_reports_start_before_end | ||||||
|  |  | ||||||
|  | @ -1,7 +1,9 @@ | ||||||
| CREATE TABLE IF NOT EXISTS report_collection ( | CREATE TABLE IF NOT EXISTS report_collection ( | ||||||
|   id INTEGER PRIMARY KEY, |   id INTEGER PRIMARY KEY, | ||||||
|  |   owner_id INTEGER NOT NULL, | ||||||
|   project_id INTEGER NOT NULL, |   project_id INTEGER NOT NULL, | ||||||
|   date DATE NOT NULL, |   date DATE NOT NULL, | ||||||
|   signed_by INTEGER, -- NULL if not signed |   signed_by INTEGER, -- NULL if not signed | ||||||
|  |   FOREIGN KEY (owner_id) REFERENCES users (id) | ||||||
|   FOREIGN KEY (signed_by) REFERENCES users (id) |   FOREIGN KEY (signed_by) REFERENCES users (id) | ||||||
| ); | ); | ||||||
|  | @ -1,7 +1,7 @@ | ||||||
| CREATE TABLE IF NOT EXISTS user_roles ( | CREATE TABLE IF NOT EXISTS user_roles ( | ||||||
|   user_id INTEGER NOT NULL, |   user_id INTEGER NOT NULL, | ||||||
|   project_id INTEGER NOT NULL, |   project_id INTEGER NOT NULL, | ||||||
|   role STRING NOT NULL, |   role STRING NOT NULL, -- 'admin' or 'member' | ||||||
|   FOREIGN KEY (user_id) REFERENCES users (id) |   FOREIGN KEY (user_id) REFERENCES users (id) | ||||||
|   FOREIGN KEY (project_id) REFERENCES projects (id) |   FOREIGN KEY (project_id) REFERENCES projects (id) | ||||||
| ); | ); | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Imbus
						Imbus