hyip / schema.sql
NoLev's picture
Rename schema.txt to schema.sql
1691d37 verified
CREATE DATABASE IF NOT EXISTS defaultdb;
USE defaultdb;
CREATE TABLE admins (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL UNIQUE,
email VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
full_name VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL UNIQUE,
email VARCHAR(255) NOT NULL UNIQUE,
password VARCHAR(255) NOT NULL,
full_name VARCHAR(255) NOT NULL,
dob DATE NOT NULL,
address TEXT NOT NULL,
country VARCHAR(100) NOT NULL,
zip_code VARCHAR(20) NOT NULL,
phone_number VARCHAR(20) NOT NULL,
balance DECIMAL(10,2) DEFAULT 0.00,
kyc_status VARCHAR(50) DEFAULT 'not_submitted',
withdrawal_status VARCHAR(50) DEFAULT 'active',
status VARCHAR(50) DEFAULT 'active',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE kyc_documents (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
document_category VARCHAR(50) NOT NULL, -- id, utility, ssn, selfie
document_type VARCHAR(50) NOT NULL, -- state_id, driver_license, passport, utility_bill, paystub, ssn, selfie
file_path VARCHAR(255) NOT NULL,
status VARCHAR(50) DEFAULT 'pending',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
CREATE TABLE investment_plans (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
roi DECIMAL(5,2) NOT NULL,
tenure INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE investments (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
plan_id INT,
amount DECIMAL(10,2) NOT NULL,
status VARCHAR(50) DEFAULT 'active',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
FOREIGN KEY (plan_id) REFERENCES investment_plans(id) ON DELETE SET NULL
);
CREATE TABLE payment_methods (
id INT AUTO_INCREMENT PRIMARY KEY,
crypto_name VARCHAR(255) NOT NULL,
wallet_address VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE transactions (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
type VARCHAR(50) NOT NULL,
amount DECIMAL(10,2) NOT NULL,
status VARCHAR(50) DEFAULT 'pending',
wallet_address VARCHAR(255),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
CREATE TABLE messages (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT,
message TEXT NOT NULL,
is_read BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);
CREATE TABLE testimonials (
id INT AUTO_INCREMENT PRIMARY KEY,
author VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE withdrawals (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL,
amount DECIMAL(10,2) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);