Add DB schema (7 tables), epic + parkerslingshot vhost configs

This commit is contained in:
2026-05-25 13:51:35 +00:00
parent 732ed43796
commit 89f1faa167
9 changed files with 943 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
docRoot /home/epictravelexpeditions.com/parkerslingshot
vhDomain $VH_NAME
vhAliases www.$VH_NAME
adminEmails admin@epictravelexpeditions.com
enableGzip 1
enableIpGeo 1
index {
useServer 0
indexFiles index.php, index.html
}
errorlog $VH_ROOT/logs/epictravelexpeditions.com.error_log {
useServer 0
logLevel WARN
rollingSize 10M
}
accesslog $VH_ROOT/logs/epictravelexpeditions.com.access_log {
useServer 0
logFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
logHeaders 5
rollingSize 10M
keepDays 10
compressArchive 1
}
phpIniOverride {
}
module cache {
storagePath /usr/local/lsws/cachedata/$VH_NAME
}
scripthandler {
add lsapi:epict63871534 php
}
extprocessor epict63871534 {
type lsapi
address UDS://tmp/lshttpd/epict63871534.sock
maxConns 10
env LSAPI_CHILDREN=10
initTimeout 60
retryTimeout 0
persistConn 1
pcKeepAliveTimeout 1
respBuffer 0
autoStart 1
path /usr/local/lsws/lsphp85/bin/lsphp
extUser epict6387
extGroup epict6387
memSoftLimit 1024M
memHardLimit 1024M
procSoftLimit 400
procHardLimit 500
}
rewrite {
enable 1
autoLoadHtaccess 1
}
context /.well-known/acme-challenge {
location /usr/local/lsws/Example/html/.well-known/acme-challenge
allowBrowse 1
rewrite {
enable 0
}
addDefaultCharset off
phpIniOverride {
}
}
vhssl {
keyFile /etc/letsencrypt/live/parkerslingshot.epictravelexpeditions.com/privkey.pem
certFile /etc/letsencrypt/live/parkerslingshot.epictravelexpeditions.com/fullchain.pem
certChain 1
sslProtocol 24
enableECDHE 1
renegProtection 1
sslSessionCache 1
enableSpdy 15
enableStapling 1
ocspRespMaxAge 86400
}
+85
View File
@@ -0,0 +1,85 @@
enablegzip 1
docroot /home/epictravelexpeditions.com/parkerslingshot
vhdomain $VH_NAME
phpinioverride
vhaliases www.$VH_NAME
enableipgeo 1
adminemails admin@epictravelexpeditions.com
errorlog $VH_ROOT/logs/epictravelexpeditions.com.error_log {
rollingsize 10M
loglevel WARN
useserver 0
}
rewrite {
autoloadhtaccess 1
enable 1
}
scripthandler {
add lsapi:epict63871534 php
}
extprocessor epict63871534 {
extgroup epict6387
memsoftlimit 1024M
autostart 1
prochardlimit 500
address UDS://tmp/lshttpd/epict63871534.sock
maxconns 10
memhardlimit 1024M
procsoftlimit 400
inittimeout 60
retrytimeout 0
persistconn 1
pckeepalivetimeout 1
respbuffer 0
path /usr/local/lsws/lsphp85/bin/lsphp
extuser epict6387
type lsapi
env LSAPI_CHILDREN=10
}
context /.well-known/acme-challenge {
location /usr/local/lsws/Example/html/.well-known/acme-challenge
adddefaultcharset off
phpinioverride
allowbrowse 1
rewrite {
enable 0
}
}
vhssl {
certchain 1
sslprotocol 24
enableecdhe 1
keyfile /etc/letsencrypt/live/parkerslingshot.epictravelexpeditions.com/privkey.pem
certfile /etc/letsencrypt/live/parkerslingshot.epictravelexpeditions.com/fullchain.pem
enablestapling 1
ocsprespmaxage 86400
renegprotection 1
sslsessioncache 1
enablespdy 15
}
module cache {
unknownkeywords storagepath /usr/local/lsws/cachedata/$VH_NAME
param storagepath /usr/local/lsws/cachedata/$VH_NAME
}
index {
indexfiles index.php, index.html
useserver 0
}
accesslog $VH_ROOT/logs/epictravelexpeditions.com.access_log {
compressarchive 1
logformat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
rollingsize 10M
keepdays 10
useserver 0
logheaders 5
}
+91
View File
@@ -0,0 +1,91 @@
docRoot /home/epictravelexpeditions.com/parkerslingshot
vhDomain $VH_NAME
vhAliases www.$VH_NAME
adminEmails admin@epictravelexpeditions.com
enableGzip 1
enableIpGeo 1
index {
useServer 0
indexFiles index.php, index.html
}
errorlog $VH_ROOT/logs/epictravelexpeditions.com.error_log {
useServer 0
logLevel WARN
rollingSize 10M
}
accesslog $VH_ROOT/logs/epictravelexpeditions.com.access_log {
useServer 0
logFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
logHeaders 5
rollingSize 10M
keepDays 10
compressArchive 1
}
phpIniOverride {
}
module cache {
storagePath /usr/local/lsws/cachedata/$VH_NAME
}
scripthandler {
add lsapi:epict63871534 php
}
extprocessor epict63871534 {
type lsapi
address UDS://tmp/lshttpd/epict63871534.sock
maxConns 10
env LSAPI_CHILDREN=10
initTimeout 60
retryTimeout 0
persistConn 1
pcKeepAliveTimeout 1
respBuffer 0
autoStart 1
path /usr/local/lsws/lsphp85/bin/lsphp
extUser epict6387
extGroup epict6387
memSoftLimit 1024M
memHardLimit 1024M
procSoftLimit 400
procHardLimit 500
}
rewrite {
enable 1
autoLoadHtaccess 1
}
context /.well-known/acme-challenge {
location /usr/local/lsws/Example/html/.well-known/acme-challenge
allowBrowse 1
rewrite {
enable 0
}
addDefaultCharset off
phpIniOverride {
}
}
vhssl {
keyFile /etc/letsencrypt/live/parkerslingshot.epictravelexpeditions.com/privkey.pem
certFile /etc/letsencrypt/live/parkerslingshot.epictravelexpeditions.com/fullchain.pem
certChain 1
sslProtocol 24
enableECDHE 1
renegProtection 1
sslSessionCache 1
enableSpdy 15
enableStapling 1
ocspRespMaxAge 86400
}
+130
View File
@@ -0,0 +1,130 @@
head 1.2;
access;
symbols;
locks
root:1.2; strict;
comment @# @;
1.2
date 2026.05.17.04.47.56; author root; state Exp;
branches;
next 1.1;
1.1
date 2026.05.17.04.47.43; author root; state Exp;
branches;
next ;
desc
@/usr/local/lsws/conf/vhosts/parkerslingshot.epictravelexpeditions.com/vhost.conf0
@
1.2
log
@Update
@
text
@docRoot /home/epictravelexpeditions.com/parkerslingshot
vhDomain $VH_NAME
vhAliases www.$VH_NAME
adminEmails admin@@epictravelexpeditions.com
enableGzip 1
enableIpGeo 1
index {
useServer 0
indexFiles index.php, index.html
}
errorlog $VH_ROOT/logs/epictravelexpeditions.com.error_log {
useServer 0
logLevel WARN
rollingSize 10M
}
accesslog $VH_ROOT/logs/epictravelexpeditions.com.access_log {
useServer 0
logFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
logHeaders 5
rollingSize 10M
keepDays 10
compressArchive 1
}
phpIniOverride {
}
module cache {
storagePath /usr/local/lsws/cachedata/$VH_NAME
}
scripthandler {
add lsapi:epict63871534 php
}
extprocessor epict63871534 {
type lsapi
address UDS://tmp/lshttpd/epict63871534.sock
maxConns 10
env LSAPI_CHILDREN=10
initTimeout 60
retryTimeout 0
persistConn 1
pcKeepAliveTimeout 1
respBuffer 0
autoStart 1
path /usr/local/lsws/lsphp85/bin/lsphp
extUser epict6387
extGroup epict6387
memSoftLimit 1024M
memHardLimit 1024M
procSoftLimit 400
procHardLimit 500
}
rewrite {
enable 1
autoLoadHtaccess 1
}
context /.well-known/acme-challenge {
location /usr/local/lsws/Example/html/.well-known/acme-challenge
allowBrowse 1
rewrite {
enable 0
}
addDefaultCharset off
phpIniOverride {
}
}
vhssl {
keyFile /etc/letsencrypt/live/parkerslingshot.epictravelexpeditions.com/privkey.pem
certFile /etc/letsencrypt/live/parkerslingshot.epictravelexpeditions.com/fullchain.pem
certChain 1
sslProtocol 24
enableECDHE 1
renegProtection 1
sslSessionCache 1
enableSpdy 15
enableStapling 1
ocspRespMaxAge 86400
}
@
1.1
log
@Update
@
text
@d79 13
@
+95
View File
@@ -0,0 +1,95 @@
docRoot $VH_ROOT/public_html
vhDomain $VH_NAME
vhAliases www.$VH_NAME
adminEmails admin@epictravelexpeditions.com
enableGzip 1
enableIpGeo 1
index {
useServer 0
indexFiles index.php, index.html
}
errorlog $VH_ROOT/logs/$VH_NAME.error_log {
useServer 0
logLevel WARN
rollingSize 10M
}
accesslog $VH_ROOT/logs/$VH_NAME.access_log {
useServer 0
logFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
logHeaders 5
rollingSize 10M
keepDays 10
compressArchive 1
}
scripthandler {
add lsapi:epict6387 php
}
extprocessor epict6387 {
type lsapi
address UDS://tmp/lshttpd/epict6387.sock
maxConns 10
env LSAPI_CHILDREN=10
initTimeout 600
retryTimeout 0
persistConn 1
pcKeepAliveTimeout 1
respBuffer 0
autoStart 1
path /usr/local/lsws/lsphp85/bin/lsphp
extUser epict6387
extGroup epict6387
memSoftLimit 1024M
memHardLimit 1024M
procSoftLimit 400
procHardLimit 500
}
phpIniOverride {
}
module cache {
storagePath /usr/local/lsws/cachedata/$VH_NAME
}
rewrite {
enable 1
autoLoadHtaccess 1
}
context /.well-known/acme-challenge {
location /usr/local/lsws/Example/html/.well-known/acme-challenge
allowBrowse 1
rewrite {
enable 0
}
addDefaultCharset off
phpIniOverride {
}
}
vhssl {
keyFile /etc/letsencrypt/live/epictravelexpeditions.com/privkey.pem
certFile /etc/letsencrypt/live/epictravelexpeditions.com/fullchain.pem
certChain 1
sslProtocol 24
enableECDHE 1
renegProtection 1
sslSessionCache 1
enableSpdy 15
enableStapling 1
ocspRespMaxAge 86400
}
<Directory /home/admin_epicftp/public_html>
AllowOverride All
Require all granted
</Directory>
+86
View File
@@ -0,0 +1,86 @@
vhdomain $VH_NAME
vhaliases www.$VH_NAME
enableipgeo 1
enablegzip 1
docroot $VH_ROOT/public_html
phpinioverride
allowoverride All
adminemails admin@epictravelexpeditions.com
extprocessor epict6387 {
pckeepalivetimeout 1
respbuffer 0
memsoftlimit 1024M
memhardlimit 1024M
env LSAPI_CHILDREN=10
inittimeout 600
extuser epict6387
extgroup epict6387
type lsapi
address UDS://tmp/lshttpd/epict6387.sock
maxconns 10
prochardlimit 500
retrytimeout 0
persistconn 1
autostart 1
path /usr/local/lsws/lsphp85/bin/lsphp
procsoftlimit 400
}
context /.well-known/acme-challenge {
adddefaultcharset off
phpinioverride
location /usr/local/lsws/Example/html/.well-known/acme-challenge
allowbrowse 1
rewrite {
enable 0
}
}
rewrite {
enable 1
autoloadhtaccess 1
}
module cache {
unknownkeywords storagepath /usr/local/lsws/cachedata/$VH_NAME
param storagepath /usr/local/lsws/cachedata/$VH_NAME
}
accesslog $VH_ROOT/logs/$VH_NAME.access_log {
rollingsize 10M
keepdays 10
compressarchive 1
logformat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
useserver 0
logheaders 5
}
errorlog $VH_ROOT/logs/$VH_NAME.error_log {
useserver 0
rollingsize 10M
loglevel WARN
}
scripthandler {
add lsapi:epict6387 php
}
index {
indexfiles index.php, index.html
useserver 0
}
vhssl {
certchain 1
sslprotocol 24
enableecdhe 1
renegprotection 1
sslsessioncache 1
enablespdy 15
enablestapling 1
ocsprespmaxage 86400
keyfile /etc/letsencrypt/live/epictravelexpeditions.com/privkey.pem
certfile /etc/letsencrypt/live/epictravelexpeditions.com/fullchain.pem
}
+95
View File
@@ -0,0 +1,95 @@
docRoot $VH_ROOT/public_html
vhDomain $VH_NAME
vhAliases www.$VH_NAME
adminEmails admin@epictravelexpeditions.com
enableGzip 1
enableIpGeo 1
index {
useServer 0
indexFiles index.php, index.html
}
errorlog $VH_ROOT/logs/$VH_NAME.error_log {
useServer 0
logLevel WARN
rollingSize 10M
}
accesslog $VH_ROOT/logs/$VH_NAME.access_log {
useServer 0
logFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
logHeaders 5
rollingSize 10M
keepDays 10
compressArchive 1
}
scripthandler {
add lsapi:epict6387 php
}
extprocessor epict6387 {
type lsapi
address UDS://tmp/lshttpd/epict6387.sock
maxConns 10
env LSAPI_CHILDREN=10
initTimeout 600
retryTimeout 0
persistConn 1
pcKeepAliveTimeout 1
respBuffer 0
autoStart 1
path /usr/local/lsws/lsphp85/bin/lsphp
extUser epict6387
extGroup epict6387
memSoftLimit 1024M
memHardLimit 1024M
procSoftLimit 400
procHardLimit 500
}
phpIniOverride {
}
module cache {
storagePath /usr/local/lsws/cachedata/$VH_NAME
}
rewrite {
enable 1
autoLoadHtaccess 1
}
context /.well-known/acme-challenge {
location /usr/local/lsws/Example/html/.well-known/acme-challenge
allowBrowse 1
rewrite {
enable 0
}
addDefaultCharset off
phpIniOverride {
}
}
vhssl {
keyFile /etc/letsencrypt/live/epictravelexpeditions.com/privkey.pem
certFile /etc/letsencrypt/live/epictravelexpeditions.com/fullchain.pem
certChain 1
sslProtocol 24
enableECDHE 1
renegProtection 1
sslSessionCache 1
enableSpdy 15
enableStapling 1
ocspRespMaxAge 86400
}
<Directory /home/admin_epicftp/public_html>
AllowOverride All
Require all granted
</Directory>
+147
View File
@@ -0,0 +1,147 @@
head 1.3;
access;
symbols;
locks
root:1.3; strict;
comment @# @;
1.3
date 2026.05.15.22.32.23; author root; state Exp;
branches;
next 1.2;
1.2
date 2026.05.15.20.10.31; author root; state Exp;
branches;
next 1.1;
1.1
date 2026.05.15.20.10.01; author root; state Exp;
branches;
next ;
desc
@/usr/local/lsws/conf/vhosts/epictravelexpeditions.com/vhost.conf0
@
1.3
log
@Update
@
text
@docRoot $VH_ROOT/public_html
vhDomain $VH_NAME
vhAliases www.$VH_NAME
adminEmails admin@@epictravelexpeditions.com
enableGzip 1
enableIpGeo 1
index {
useServer 0
indexFiles index.php, index.html
}
errorlog $VH_ROOT/logs/$VH_NAME.error_log {
useServer 0
logLevel WARN
rollingSize 10M
}
accesslog $VH_ROOT/logs/$VH_NAME.access_log {
useServer 0
logFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i""
logHeaders 5
rollingSize 10M
keepDays 10
compressArchive 1
}
scripthandler {
add lsapi:epict6387 php
}
extprocessor epict6387 {
type lsapi
address UDS://tmp/lshttpd/epict6387.sock
maxConns 10
env LSAPI_CHILDREN=10
initTimeout 600
retryTimeout 0
persistConn 1
pcKeepAliveTimeout 1
respBuffer 0
autoStart 1
path /usr/local/lsws/lsphp85/bin/lsphp
extUser epict6387
extGroup epict6387
memSoftLimit 1024M
memHardLimit 1024M
procSoftLimit 400
procHardLimit 500
}
phpIniOverride {
}
module cache {
storagePath /usr/local/lsws/cachedata/$VH_NAME
}
rewrite {
enable 1
autoLoadHtaccess 1
}
context /.well-known/acme-challenge {
location /usr/local/lsws/Example/html/.well-known/acme-challenge
allowBrowse 1
rewrite {
enable 0
}
addDefaultCharset off
phpIniOverride {
}
}
vhssl {
keyFile /etc/letsencrypt/live/epictravelexpeditions.com/privkey.pem
certFile /etc/letsencrypt/live/epictravelexpeditions.com/fullchain.pem
certChain 1
sslProtocol 24
enableECDHE 1
renegProtection 1
sslSessionCache 1
enableSpdy 15
enableStapling 1
ocspRespMaxAge 86400
}
<Directory /home/admin_epicftp/public_html>
AllowOverride All
Require all granted
</Directory>@
1.2
log
@Update
@
text
@d92 4
@
1.1
log
@Update
@
text
@d79 13
@
+123
View File
@@ -0,0 +1,123 @@
/*M!999999\- enable the sandbox mode */
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
DROP TABLE IF EXISTS `admin_users`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `admin_users` (
`id` varchar(36) NOT NULL,
`email` varchar(255) NOT NULL,
`password_hash` varchar(255) NOT NULL,
`created_at` datetime NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
KEY `idx_email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `contacts`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `contacts` (
`id` varchar(36) NOT NULL,
`name` varchar(255) NOT NULL,
`email` varchar(255) NOT NULL,
`message` text NOT NULL,
`created_at` datetime NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
KEY `idx_created_at` (`created_at`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `destination_categories`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `destination_categories` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`created_at` timestamp NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `destinations`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `destinations` (
`id` varchar(36) NOT NULL,
`name` varchar(255) NOT NULL,
`location` varchar(255) NOT NULL,
`description` text NOT NULL,
`image` varchar(500) NOT NULL,
`category` varchar(50) NOT NULL,
`rating` decimal(2,1) NOT NULL DEFAULT 4.5,
`price` decimal(10,2) NOT NULL,
`currency` varchar(3) NOT NULL DEFAULT 'USD',
`created_at` datetime NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
KEY `idx_category` (`category`),
KEY `idx_name` (`name`),
KEY `idx_location` (`location`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `newsletter_subscribers`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `newsletter_subscribers` (
`id` varchar(36) NOT NULL,
`email` varchar(255) NOT NULL,
`subscribed_at` datetime NOT NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`),
UNIQUE KEY `email` (`email`),
KEY `idx_email` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `specials`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `specials` (
`id` varchar(36) NOT NULL,
`destination_id` varchar(36) NOT NULL,
`discount` decimal(5,2) NOT NULL,
`price` decimal(10,2) DEFAULT NULL,
`end_date` date NOT NULL,
`highlights` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL CHECK (json_valid(`highlights`)),
`created_at` datetime NOT NULL DEFAULT current_timestamp(),
`image_path` varchar(500) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `idx_destination` (`destination_id`),
KEY `idx_end_date` (`end_date`),
CONSTRAINT `specials_ibfk_1` FOREIGN KEY (`destination_id`) REFERENCES `destinations` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
DROP TABLE IF EXISTS `testimonials`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8mb4 */;
CREATE TABLE `testimonials` (
`id` varchar(36) NOT NULL,
`full_name` varchar(255) NOT NULL,
`location` varchar(255) NOT NULL,
`message` text NOT NULL,
`image_path` varchar(500) DEFAULT NULL,
`status` enum('pending','approved','denied') NOT NULL DEFAULT 'pending',
`created_at` timestamp NULL DEFAULT current_timestamp(),
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;