-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathagroexpert_db.sql
More file actions
168 lines (151 loc) · 4.45 KB
/
Copy pathagroexpert_db.sql
File metadata and controls
168 lines (151 loc) · 4.45 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
create database agroexpert
go
Use agroexpert
Go
-- Create Users table
CREATE TABLE users (
id INT PRIMARY KEY IDENTITY(1,1),
username NVARCHAR(100) NOT NULL UNIQUE,
password NVARCHAR(255) NOT NULL,
role NVARCHAR(50) NOT NULL,
email NVARCHAR(255) UNIQUE,
phone NVARCHAR(20),
status BIT DEFAULT 1,
last_login DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Create expert_details table
CREATE TABLE expert_details (
id INT PRIMARY KEY IDENTITY(1,1),
user_id INT UNIQUE,
scope NVARCHAR(255),
specialization NVARCHAR(255),
commodity NVARCHAR(255),
region NVARCHAR(255),
city NVARCHAR(255),
FOREIGN KEY (user_id) REFERENCES users (id)
);
-- Create Diseases table
CREATE TABLE diseases (
id INT PRIMARY KEY IDENTITY(1,1),
name NVARCHAR(255) NOT NULL,
description TEXT,
symptoms TEXT,
treatment TEXT
);
-- Create Disease Predictions table
CREATE TABLE disease_predictions (
id INT PRIMARY KEY IDENTITY(1,1),
prediction NVARCHAR(255) NOT NULL,
disease NVARCHAR(255) NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Create Consultations table with image_path included
CREATE TABLE consultations (
id INT PRIMARY KEY IDENTITY(1,1),
farmer_id INT,
expert_id INT,
description TEXT,
image_path NVARCHAR(255),
plant_name NVARCHAR(255),
symptoms TEXT,
region NVARCHAR(255),
date_noticed DATE,
treatments TEXT,
status NVARCHAR(50) DEFAULT 'pending',
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (farmer_id) REFERENCES users (id),
FOREIGN KEY (expert_id) REFERENCES users (id)
);
-- Create Consultation Responses table
CREATE TABLE consultation_responses (
id INT PRIMARY KEY IDENTITY(1,1),
consultation_id INT,
response TEXT,
response_by INT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (consultation_id) REFERENCES consultations (id),
FOREIGN KEY (response_by) REFERENCES users (id)
);
-- Create Rewards table
CREATE TABLE rewards (
id INT PRIMARY KEY IDENTITY(1,1),
user_id INT,
points INT DEFAULT 0,
FOREIGN KEY (user_id) REFERENCES users (id)
);
-- Create Reward Transactions table
CREATE TABLE reward_transactions (
id INT PRIMARY KEY IDENTITY(1,1),
user_id INT,
amount DECIMAL(10, 2),
transaction_type NVARCHAR(50),
transaction_date DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users (id)
);
-- Create Coupons table
CREATE TABLE coupons (
id INT PRIMARY KEY IDENTITY(1,1),
code NVARCHAR(100) UNIQUE,
value INT,
expiration_date DATETIME,
is_active BIT DEFAULT 1
);
-- Create Coupon Usage table
CREATE TABLE coupon_usage (
id INT PRIMARY KEY IDENTITY(1,1),
coupon_id INT,
user_id INT,
redemption_date DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (coupon_id) REFERENCES coupons (id)
);
-- Create News table
CREATE TABLE news (
id INT PRIMARY KEY IDENTITY(1,1),
title NVARCHAR(255) NOT NULL,
content TEXT,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- Create Model Versions table
CREATE TABLE model_versions (
id INT PRIMARY KEY IDENTITY(1,1),
model_path NVARCHAR(255) NOT NULL,
version_number NVARCHAR(50) NOT NULL,
accuracy FLOAT,
total_classes INT,
training_date DATETIME DEFAULT CURRENT_TIMESTAMP,
description TEXT,
is_active BIT DEFAULT 0
);
-- Create Unknown Diseases table
CREATE TABLE unknown_diseases (
id INT PRIMARY KEY IDENTITY(1,1),
reported_by_farmer_id INT,
verified_by_expert_id INT,
initial_image_path NVARCHAR(255),
samples_folder_path NVARCHAR(255),
description TEXT,
symptoms TEXT,
date_reported DATETIME DEFAULT CURRENT_TIMESTAMP,
status NVARCHAR(50) DEFAULT 'pending',
admin_notes TEXT,
FOREIGN KEY (reported_by_farmer_id) REFERENCES users (id),
FOREIGN KEY (verified_by_expert_id) REFERENCES users (id)
);
-- Create Disease Samples table
CREATE TABLE disease_samples (
id INT PRIMARY KEY IDENTITY(1,1),
unknown_disease_id INT,
farmer_id INT,
samples_zip_path NVARCHAR(255),
upload_date DATETIME DEFAULT CURRENT_TIMESTAMP,
status NVARCHAR(50) DEFAULT 'pending',
expert_notes TEXT,
FOREIGN KEY (unknown_disease_id) REFERENCES unknown_diseases (id),
FOREIGN KEY (farmer_id) REFERENCES users (id)
);
-- Create Model Classes table
CREATE TABLE model_classes (
id INT PRIMARY KEY IDENTITY(1,1),
class_name NVARCHAR(100) NOT NULL,
description NVARCHAR(255)
);