first database schema for sqlite3 (done as diesel migration scripts)

This commit is contained in:
2021-05-30 22:27:23 +02:00
parent 1f1c71f533
commit a5c25e4abc
7 changed files with 221 additions and 0 deletions

View File

@ -0,0 +1 @@
-- This file should undo anything in `up.sql`

View File

@ -0,0 +1,84 @@
CREATE TABLE IF NOT EXISTS user (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nickname VARCHAR,
pronouns VARCHAR,
address_1_name VARCHAR,
address_2_additional VARCHAR,
address_4_street VARCHAR,
adress_house_number VARCHAR,
adress_city_code VARCHAR,
adress_country VARCHAR,
Ehrenaemter VARCHAR,
gravatar_email VARCHAR,
Freitext VARCHAR
);
CREATE TABLE IF NOT EXISTS user_skill (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
skill_id INTEGER OT NULL,
level INTEGER,
FOREIGN KEY(user_id) REFERENCES user(id),
FOREIGN KEY(skill_id) REFERENCES skill(id)
);
CREATE TABLE IF NOT EXISTS user_language (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
language_id INTEGER NOT NULL,
level INTEGER,
FOREIGN KEY(user_id) REFERENCES user(id),
FOREIGN KEY(language_id) REFERENCES language(id)
);
CREATE TABLE IF NOT EXISTS skill (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR
);
CREATE TABLE IF NOT EXISTS user_experience (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
description VARCHAR,
start date,
end date,
FOREIGN KEY (user_id) REFERENCES user(id)
);
CREATE TABLE IF NOT EXISTS user_search_topic (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
topic_id INTEGER NOT NULL,
FOREIGN KEY (user_id) REFERENCES user(id),
FOREIGN KEY (topic_id) REFERENCES topic(id)
);
CREATE TABLE IF NOT EXISTS user_contact (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL,
contact_type_id INTEGER NOT NULL,
content_ VARCHAR,
FOREIGN KEY(user_id) REFERENCES user(id),
FOREIGN KEY (contact_type_id) REFERENCES contact_types(id)
);
CREATE TABLE IF NOT EXISTS topic (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR
);
CREATE TABLE IF NOT EXISTS language (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR
);
CREATE TABLE IF NOT EXISTS experience (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR
);
CREATE TABLE IF NOT EXISTS contact_types (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name VARCHAR
);