From 33e4813d70c6a081d1b2808b41d67adc3af456ef Mon Sep 17 00:00:00 2001 From: Klaus-Uwe Mitterer Date: Sun, 2 Aug 2020 09:10:47 +0200 Subject: [PATCH] Basic SQL schema, database config --- .gitignore | 1 + config.php | 11 +++++++++ schema.sql | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+) create mode 100644 .gitignore create mode 100644 config.php create mode 100644 schema.sql diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dbe9c82 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.vscode/ \ No newline at end of file diff --git a/config.php b/config.php new file mode 100644 index 0000000..339aff8 --- /dev/null +++ b/config.php @@ -0,0 +1,11 @@ + "localhost", + "db_port" => 3306, + "db_name" => "mydatabase", + "db_user" => "myusername", + "db_pass" => "myverysecretpassword" +); \ No newline at end of file diff --git a/schema.sql b/schema.sql new file mode 100644 index 0000000..29b0be6 --- /dev/null +++ b/schema.sql @@ -0,0 +1,65 @@ +CREATE TABLE IF NOT EXISTS settings ( + setting_key VARCHAR(255) NOT NULL, + setting_value VARCHAR(255), + PRIMARY KEY (setting_key) +); + +CREATE TABLE IF NOT EXISTS users ( + user_id INT NOT NULL AUTO_INCREMENT, + display_name VARCHAR(255), + email VARCHAR(255) NOT NULL UNIQUE, + password VARCHAR(255) NOT NULL, + salt VARCHAR(255) NOT NULL, + is_admin BOOLEAN, + PRIMARY KEY (user_id) +); + +CREATE TABLE IF NOT EXISTS user_sessions ( + session_id VARCHAR(255) NOT NULL, + salt VARCHAR(255) NOT NULL, + user_id INT NOT NULL, + expiry DATETIME NOT NULL, + PRIMARY KEY (session_id), + FOREIGN KEY (user_id) REFERENCES users(user_id) +); + +CREATE TABLE IF NOT EXISTS locations ( + location_id INT NOT NULL AUTO_INCREMENT, + name VARCHAR(255) NOT NULL, + logo BLOB, + PRIMARY KEY (location_id) +); + +CREATE TABLE IF NOT EXISTS permissions ( + user_id INT NOT NULL, + location_id INT NOT NULL, + is_owner BOOLEAN, + PRIMARY KEY (user_id, location_id), + FOREIGN KEY (user_id) REFERENCES users(user_id), + FOREIGN KEY (location_id) REFERENCES locations(location_id) +); + +CREATE TABLE IF NOT EXISTS visits ( + visit_id INT NOT NULL AUTO_INCREMENT, + location_id INT NOT NULL, + arrival DATETIME NOT NULL, + departure DATETIME NOT NULL, + PRIMARY KEY (visit_id), + FOREIGN KEY (location_id) REFERENCES locations(location_id) +); + +CREATE TABLE IF NOT EXISTS visitors ( + visitor_id INT NOT NULL AUTO_INCREMENT, + visit_id INT NOT NULL, + first_name VARCHAR(255) NOT NULL, + last_name VARCHAR(255) NOT NULL, + address1 VARCHAR(255), + address2 VARCHAR(255), + zip VARCHAR(255), + city VARCHAR(255), + country VARCHAR(255), + phone VARCHAR(255), + email VARCHAR(255), + PRIMARY KEY (visitor_id), + FOREIGN KEY (visit_id) REFERENCES visits(visit_id) +); \ No newline at end of file