📄 schema.sql
📁 Path: /home/skhata/pimsnepal.com.np/database/schema.sql
📊 Size: 5.86 KB
🔒 Perm: 0644
📝 MIME: text/plain
-- ============================================================================
-- PIMS Nepal — Plain PHP + MySQL schema
-- Import this FIRST, then database/seed.sql
-- ============================================================================
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
CREATE TABLE IF NOT EXISTS admin_users (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(120) NOT NULL,
email VARCHAR(160) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS settings (
id INT UNSIGNED PRIMARY KEY DEFAULT 1,
site_name VARCHAR(160) NOT NULL DEFAULT 'PIMS Nepal Pvt. Ltd.',
tagline VARCHAR(255) DEFAULT NULL,
phone VARCHAR(60) DEFAULT NULL,
whatsapp VARCHAR(60) DEFAULT NULL,
email VARCHAR(160) DEFAULT NULL,
address VARCHAR(255) DEFAULT NULL,
map_embed_url TEXT DEFAULT NULL,
facebook_url VARCHAR(255) DEFAULT NULL,
linkedin_url VARCHAR(255) DEFAULT NULL,
instagram_url VARCHAR(255) DEFAULT NULL,
youtube_url VARCHAR(255) DEFAULT NULL,
logo_path VARCHAR(255) DEFAULT NULL,
promo_strip_enabled TINYINT(1) NOT NULL DEFAULT 1,
promo_strip_text VARCHAR(255) DEFAULT NULL,
promo_strip_cta_text VARCHAR(120) DEFAULT NULL,
promo_strip_cta_link VARCHAR(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS seo_pages (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
page_key VARCHAR(40) NOT NULL UNIQUE,
title VARCHAR(200) NOT NULL,
meta_description VARCHAR(500) DEFAULT NULL,
meta_keywords VARCHAR(500) DEFAULT NULL,
og_image_path VARCHAR(255) DEFAULT NULL,
canonical_url VARCHAR(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS nav_links (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
label VARCHAR(80) NOT NULL,
url VARCHAR(255) NOT NULL,
sort_order INT UNSIGNED NOT NULL DEFAULT 0,
open_in_new_tab TINYINT(1) NOT NULL DEFAULT 0,
is_active TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS hero_slides (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
image_path VARCHAR(255) DEFAULT NULL,
badge VARCHAR(120) DEFAULT NULL,
title VARCHAR(200) NOT NULL,
subtitle VARCHAR(500) DEFAULT NULL,
cta_text VARCHAR(80) DEFAULT NULL,
cta_link VARCHAR(255) DEFAULT NULL,
offer VARCHAR(120) DEFAULT NULL,
sort_order INT UNSIGNED NOT NULL DEFAULT 0,
is_active TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS services (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
slug VARCHAR(120) NOT NULL UNIQUE,
icon VARCHAR(60) DEFAULT NULL,
title VARCHAR(160) NOT NULL,
short_desc VARCHAR(500) DEFAULT NULL,
description TEXT DEFAULT NULL,
banner_gradient VARCHAR(160) DEFAULT NULL,
features TEXT DEFAULT NULL COMMENT 'JSON array of strings',
faqs TEXT DEFAULT NULL COMMENT 'JSON array of {q,a}',
sort_order INT UNSIGNED NOT NULL DEFAULT 0,
is_active TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS downloads (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
category VARCHAR(80) NOT NULL,
title VARCHAR(200) NOT NULL,
version VARCHAR(40) DEFAULT NULL,
release_date DATE DEFAULT NULL,
file_size VARCHAR(40) DEFAULT NULL,
download_count INT UNSIGNED NOT NULL DEFAULT 0,
file_path VARCHAR(255) DEFAULT NULL,
is_active TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS testimonials (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(120) NOT NULL,
company VARCHAR(160) DEFAULT NULL,
message TEXT NOT NULL,
rating TINYINT UNSIGNED NOT NULL DEFAULT 5,
sort_order INT UNSIGNED NOT NULL DEFAULT 0,
is_active TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS industries (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(120) NOT NULL,
icon VARCHAR(60) DEFAULT NULL,
sort_order INT UNSIGNED NOT NULL DEFAULT 0,
is_active TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS gallery_items (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
image_path VARCHAR(255) NOT NULL,
caption VARCHAR(200) DEFAULT NULL,
sort_order INT UNSIGNED NOT NULL DEFAULT 0,
is_active TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS team_members (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(120) NOT NULL,
role VARCHAR(120) DEFAULT NULL,
photo_path VARCHAR(255) DEFAULT NULL,
initials VARCHAR(4) DEFAULT NULL,
sort_order INT UNSIGNED NOT NULL DEFAULT 0,
is_active TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS tally_features (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
icon VARCHAR(60) DEFAULT NULL,
tag VARCHAR(60) DEFAULT NULL,
title VARCHAR(160) NOT NULL,
description TEXT DEFAULT NULL,
banner_gradient VARCHAR(160) DEFAULT NULL,
sort_order INT UNSIGNED NOT NULL DEFAULT 0,
is_active TINYINT(1) NOT NULL DEFAULT 1
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS about_content (
id INT UNSIGNED PRIMARY KEY DEFAULT 1,
heading VARCHAR(200) DEFAULT NULL,
intro TEXT DEFAULT NULL,
mission TEXT DEFAULT NULL,
vision TEXT DEFAULT NULL,
value_points TEXT DEFAULT NULL COMMENT 'JSON array of strings',
stats TEXT DEFAULT NULL COMMENT 'JSON array of {label,value}'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS contact_messages (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(120) NOT NULL,
email VARCHAR(160) NOT NULL,
phone VARCHAR(60) DEFAULT NULL,
subject VARCHAR(200) DEFAULT NULL,
message TEXT NOT NULL,
is_read TINYINT(1) NOT NULL DEFAULT 0,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
SET FOREIGN_KEY_CHECKS = 1;