-- ─── BazaarHub MySQL Schema ────────────────────────────
CREATE DATABASE bazaarhub;
USE bazaarhub;
CREATE TABLE sellers (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(120) NOT NULL,
phone VARCHAR(20) NOT NULL, -- WhatsApp number: 919876543210
email VARCHAR(120),
shop_name VARCHAR(150),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE products (
id INT AUTO_INCREMENT PRIMARY KEY,
seller_id INT NOT NULL,
name VARCHAR(200) NOT NULL,
description TEXT,
category VARCHAR(60),
price DECIMAL(10,2) NOT NULL,
moq INT DEFAULT 1, -- minimum order quantity
stock INT DEFAULT 100,
emoji VARCHAR(10) DEFAULT '📦',
active TINYINT(1) DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (seller_id) REFERENCES sellers(id)
);
CREATE TABLE orders (
id INT AUTO_INCREMENT PRIMARY KEY,
buyer_name VARCHAR(120),
buyer_phone VARCHAR(20),
total DECIMAL(10,2),
status ENUM('pending','confirmed','shipped','done') DEFAULT 'pending',
wa_sent TINYINT(1) DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE order_items (
id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT,
product_id INT,
seller_id INT,
qty INT,
unit_price DECIMAL(10,2),
FOREIGN KEY (order_id) REFERENCES orders(id),
FOREIGN KEY (product_id) REFERENCES products(id),
FOREIGN KEY (seller_id) REFERENCES sellers(id)
);
CREATE TABLE jobs (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(200),
company VARCHAR(150),
location VARCHAR(120),
type VARCHAR(60),
salary VARCHAR(80),
description TEXT,
posted_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE news (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(250),
category VARCHAR(60),
excerpt TEXT,
author VARCHAR(100),
published TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);