-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_order_tables.sql
More file actions
34 lines (32 loc) · 1.16 KB
/
Copy pathcreate_order_tables.sql
File metadata and controls
34 lines (32 loc) · 1.16 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
-- Create orders table
CREATE TABLE IF NOT EXISTS orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
buyer_id INT NOT NULL,
farmer_id INT NOT NULL,
status ENUM('pending', 'confirmed', 'completed', 'cancelled') DEFAULT 'pending',
created_at DATETIME NOT NULL,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (buyer_id) REFERENCES buyer(bid),
FOREIGN KEY (farmer_id) REFERENCES farmer(fid)
);
-- Create order_items table
CREATE TABLE IF NOT EXISTS order_items (
order_item_id INT AUTO_INCREMENT PRIMARY KEY,
order_id INT NOT NULL,
product_id INT NOT NULL,
quantity INT NOT NULL,
price DECIMAL(10,2) NOT NULL,
FOREIGN KEY (order_id) REFERENCES orders(order_id),
FOREIGN KEY (product_id) REFERENCES fproduct(pid)
);
-- Create messages table
CREATE TABLE IF NOT EXISTS messages (
message_id INT AUTO_INCREMENT PRIMARY KEY,
sender_id INT NOT NULL,
receiver_id INT NOT NULL,
message TEXT NOT NULL,
created_at DATETIME NOT NULL,
is_read BOOLEAN DEFAULT FALSE,
FOREIGN KEY (sender_id) REFERENCES buyer(bid),
FOREIGN KEY (receiver_id) REFERENCES farmer(fid)
);