Initial DB schema commit
This commit is contained in:
commit
e0de363c8a
|
|
@ -0,0 +1,77 @@
|
||||||
|
CREATE TABLE users (
|
||||||
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
email VARCHAR(255) NOT NULL UNIQUE,
|
||||||
|
auth_token VARCHAR(255) NOT NULL UNIQUE,
|
||||||
|
token_created_at DATETIME NOT NULL,
|
||||||
|
token_expires_at DATETIME NOT NULL,
|
||||||
|
is_board_member BOOLEAN NOT NULL DEFAULT FALSE,
|
||||||
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE questionnaire_responses (
|
||||||
|
id INT AUTO_INCREMENT PRIMARY KEY,
|
||||||
|
user_id INT NOT NULL UNIQUE,
|
||||||
|
role VARCHAR(255) NOT NULL,
|
||||||
|
role_function TEXT NOT NULL,
|
||||||
|
tasks TEXT NOT NULL,
|
||||||
|
devices JSON NOT NULL,
|
||||||
|
pc_os JSON,
|
||||||
|
tablet_os JSON,
|
||||||
|
phone_os JSON,
|
||||||
|
work_location ENUM(
|
||||||
|
'100% Office',
|
||||||
|
'Mostly Office',
|
||||||
|
'Balanced',
|
||||||
|
'Mostly Remote',
|
||||||
|
'100% Remote'
|
||||||
|
) NOT NULL,
|
||||||
|
email_access ENUM(
|
||||||
|
'Outlook',
|
||||||
|
'Webmail',
|
||||||
|
'Mobile',
|
||||||
|
'Outlook and Mobile',
|
||||||
|
'Webmail and Mobile',
|
||||||
|
'All 3 methods',
|
||||||
|
'Outlook or Webmail only'
|
||||||
|
) NOT NULL,
|
||||||
|
shared_mailboxes BOOLEAN NOT NULL,
|
||||||
|
shared_mailbox_details TEXT,
|
||||||
|
collaboration_tools JSON,
|
||||||
|
email_issues JSON,
|
||||||
|
weekly_meetings ENUM(
|
||||||
|
'0',
|
||||||
|
'1-2',
|
||||||
|
'3-5',
|
||||||
|
'6-10',
|
||||||
|
'More than 10'
|
||||||
|
) NOT NULL,
|
||||||
|
file_storage JSON NOT NULL,
|
||||||
|
shared_files BOOLEAN NOT NULL,
|
||||||
|
critical_files JSON,
|
||||||
|
mfa BOOLEAN NOT NULL,
|
||||||
|
mfa_types JSON,
|
||||||
|
mfa_apps JSON,
|
||||||
|
personal_device BOOLEAN NOT NULL,
|
||||||
|
personal_device_types JSON,
|
||||||
|
security_concerns JSON,
|
||||||
|
it_challenges JSON,
|
||||||
|
improvements TEXT,
|
||||||
|
operations_improvement TEXT,
|
||||||
|
-- Board member specific fields (nullable if user not board member)
|
||||||
|
board_doc_access BOOLEAN,
|
||||||
|
access_issues_details TEXT,
|
||||||
|
board_collab_effectiveness ENUM(
|
||||||
|
'Very Effective',
|
||||||
|
'Effective',
|
||||||
|
'Neutral',
|
||||||
|
'Ineffective',
|
||||||
|
'Very Ineffective'
|
||||||
|
),
|
||||||
|
meeting_issues JSON,
|
||||||
|
board_suggestions TEXT,
|
||||||
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
Loading…
Reference in New Issue