added sql schema

This commit is contained in:
Jonas_Jones 2025-01-25 22:15:34 +01:00
parent 34b5d823d9
commit 7aaf7e2d33

41
schema.sql Normal file
View file

@ -0,0 +1,41 @@
-- Drop the tables if they exist (to avoid errors if re-running the script)
DROP TABLE IF EXISTS sessions;
DROP TABLE IF EXISTS users;
DROP TABLE IF EXISTS user_actions;
-- Create the sessions table
CREATE TABLE IF NOT EXISTS sessions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
created DATETIME,
expiration DATETIME,
userid INTEGER,
sessionkey TEXT,
FOREIGN KEY (userid) REFERENCES users(id) -- Foreign key to the users table
);
-- Create the users table
CREATE TABLE IF NOT EXISTS users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
created DATETIME,
username TEXT UNIQUE,
passwordhash TEXT,
scopes TEXT,
email TEXT UNIQUE,
first_name TEXT,
last_name TEXT,
is_active BOOLEAN DEFAULT 1, -- Example of another useful field
last_login DATETIME
);
-- Create the user_actions table to log actions made by users
CREATE TABLE IF NOT EXISTS user_actions (
id INTEGER PRIMARY KEY AUTOINCREMENT,
userid INTEGER,
timestamp DATETIME,
path TEXT,
status_code INTEGER,
FOREIGN KEY (userid) REFERENCES users(id) -- Foreign key to users
);
-- create admin user with password admin (hashed)
INSERT INTO users (created, username, passwordhash, scopes, email, first_name, last_name) VALUES (datetime('now'), 'sudo-admin', '8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918', 'admin', 'admin@example.com', 'Admin', 'User');