FIle - /trunk/etc/install.sql
/trunk/etc/install.sql
|
|
2,493 bytes
|
|
January 20, 2025 at 08:22
|
|
/**
* User groups
*/
CREATE TABLE user_groups (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
show_in_form BOOLEAN NOT NULL DEFAULT true,
name VARCHAR(100) NOT NULL
);
INSERT INTO user_groups (name) VALUES ('User');
CREATE TABLE user_profiles (
uuid VARCHAR(30) NOT NULL PRIMARY KEY,
group_id SMALLINT NOT NULL,
language VARCHAR(3) NOT NULL DEFAULT 'en',
currency VARCHAR(10) NOT NULL DEFAULT 'USD',
timezone VARCHAR(5) NOT NULL DEFAULT 'EST',
first_name VARCHAR(100) NOT NULL DEFAULT '',
last_name VARCHAR(100) NOT NULL DEFAULT '',
address VARCHAR(255) NOT NULL DEFAULT '',
address2 VARCHAR(255) NOT NULL DEFAULT '',
city VARCHAR(80) NOT NULL DEFAULT '',
province VARCHAR(80) NOT NULL DEFAULT '',
postal_code VARCHAR(20) NOT NULL DEFAULT '',
country VARCHAR(3) NOT NULL DEFAULT '',
extra_profile TEXT,
FOREIGN KEY (uuid) REFERENCES armor_users (uuid) ON DELETE CASCADE
);
CREATE TABLE user_notes (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
uuid VARCHAR(30) NOT NULL,
added_by VARCHAR(30) NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
note TEXT NOT NULL,
FOREIGN KEY (uuid) REFERENCES user_profiles (uuid) ON DELETE CASCADE
);
CREATE TABLE user_profile_fields (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
show_in_form BOOLEAN NOT NULL DEFAULT true,
order_num INT NOT NULL,
form_field VARCHAR(20) NOT NULL DEFAULT 'textbox',
alias VARCHAR(100) NOT NULL UNIQUE,
default_value VARCHAR(100) NOT NULL DEFAULT '',
name VARCHAR(100) NOT NULL,
select_options TEXT
);
/**
* Login notices
*/
CREATE TABLE internal_login_notices (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
is_markdown BOOLEAN NOT NULL DEFAULT false,
requires_accept BOOLEAN NOT NULL DEFAULT false,
user_type ENUM('all','existing','new') NOT NULL DEFAULT 'all',
criteria TEXT NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP,
title VARCHAR(255) NOT NULL,
contents LONGTEXT NOT NULL
);
CREATE TABLE user_login_notices (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
is_viewed BOOLEAN NOT NULL DEFAULT false,
is_accepted BOOLEAN NOT NULL DEFAULT false,
notice_id INT NOT NULL,
created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
viewed_at TIMESTAMP,
accepted_at TIMESTAMP,
FOREIGN KEY (notice_id) REFERENCES internal_login_notices (id) ON DELETE CASCADE
);