-- ⚠️ এই ফাইলটার আর দরকার নেই যদি আপনি install.php ব্যবহার করেন —
-- install.php ভিজিট করলেই এই সব টেবিল ও নমুনা ডাটা নিজে থেকে তৈরি হয়ে যায়।
-- এই ফাইলটা শুধু রেফারেন্সের জন্য রাখা হলো, বা যদি install.php ছাড়া ম্যানুয়ালি করতে চান তার জন্য।

CREATE DATABASE IF NOT EXISTS hindu_app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE hindu_app_db;

CREATE TABLE IF NOT EXISTS app_config (
    id INT AUTO_INCREMENT PRIMARY KEY,
    min_supported_version INT DEFAULT 1,
    latest_version INT DEFAULT 1,
    force_update TINYINT(1) DEFAULT 0,
    update_message VARCHAR(500) DEFAULT 'নতুন ভার্শনে আপডেট করুন',
    play_store_url VARCHAR(500) DEFAULT NULL,
    maintenance_mode TINYINT(1) DEFAULT 0,
    maintenance_message VARCHAR(500) DEFAULT 'রক্ষণাবেক্ষণ চলছে',
    feature_japa_mala TINYINT(1) DEFAULT 1,
    feature_mantra TINYINT(1) DEFAULT 1,
    feature_aarti TINYINT(1) DEFAULT 1,
    feature_panjika TINYINT(1) DEFAULT 1,
    announcement VARCHAR(500) DEFAULT NULL,
    daily_reminder_hour INT DEFAULT 6,
    daily_reminder_minute INT DEFAULT 0
);

CREATE TABLE IF NOT EXISTS admin_users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(100) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL
);

-- দৈনিক শ্লোক পুল — এখানে যত ইচ্ছা শ্লোক রাখুন, অ্যাপ প্রতিদিন অটো-রোটেট করে একটা দেখাবে
CREATE TABLE IF NOT EXISTS shlok_pool (
    id INT AUTO_INCREMENT PRIMARY KEY,
    shlok_text TEXT NOT NULL,
    source VARCHAR(150) DEFAULT NULL,
    active TINYINT(1) DEFAULT 1
);

-- পঞ্জিকা ক্যালেন্ডার — admin/panjika.php থেকে অটো-জেনারেট হয়
CREATE TABLE IF NOT EXISTS panjika_calendar (
    id INT AUTO_INCREMENT PRIMARY KEY,
    date_key DATE NOT NULL UNIQUE,
    bangla_date VARCHAR(100) DEFAULT NULL,
    tithi VARCHAR(100) NOT NULL,
    paksha VARCHAR(50) DEFAULT NULL,
    upobash VARCHAR(150) DEFAULT NULL,
    is_festival TINYINT(1) DEFAULT 0,
    festival_name VARCHAR(150) DEFAULT NULL
);

CREATE TABLE IF NOT EXISTS deities (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    subtitle VARCHAR(255) DEFAULT NULL,
    image_url VARCHAR(500) DEFAULT NULL,
    description TEXT DEFAULT NULL,
    display_order INT DEFAULT 0
);

CREATE TABLE IF NOT EXISTS mantras (
    id INT AUTO_INCREMENT PRIMARY KEY,
    deity_id INT DEFAULT NULL,
    title VARCHAR(255) NOT NULL,
    sanskrit_text TEXT NOT NULL,
    bangla_meaning TEXT DEFAULT NULL,
    audio_url VARCHAR(500) DEFAULT NULL,
    FOREIGN KEY (deity_id) REFERENCES deities(id) ON DELETE SET NULL
);

CREATE TABLE IF NOT EXISTS aartis (
    id INT AUTO_INCREMENT PRIMARY KEY,
    deity_id INT DEFAULT NULL,
    title VARCHAR(255) NOT NULL,
    lyrics TEXT NOT NULL,
    audio_url VARCHAR(500) DEFAULT NULL,
    FOREIGN KEY (deity_id) REFERENCES deities(id) ON DELETE SET NULL
);

-- ⚠️ নোট: এই ফাইলটা রেফারেন্সের জন্য রাখা আছে। প্রকৃত ইন্সটলেশন install.php দিয়ে করাই সুপারিশ করা হয়,
-- কারণ install.php সব টেবিল + নতুন কলাম/আপগ্রেড নিরাপদে হ্যান্ডেল করে।

CREATE TABLE IF NOT EXISTS bhajans (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    singer VARCHAR(150) DEFAULT NULL,
    lyrics TEXT DEFAULT NULL,
    audio_url VARCHAR(500) DEFAULT NULL,
    display_order INT DEFAULT 0,
    view_count INT DEFAULT 0
);

CREATE TABLE IF NOT EXISTS rashifal (
    id INT AUTO_INCREMENT PRIMARY KEY,
    rashi_name VARCHAR(50) NOT NULL,
    date_key DATE NOT NULL,
    prediction TEXT NOT NULL,
    lucky_number VARCHAR(20) DEFAULT NULL,
    lucky_color VARCHAR(50) DEFAULT NULL,
    UNIQUE KEY rashi_date (rashi_name, date_key)
);

CREATE TABLE IF NOT EXISTS tirtha_sthan (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    location VARCHAR(255) DEFAULT NULL,
    description TEXT DEFAULT NULL,
    how_to_reach TEXT DEFAULT NULL,
    image_url VARCHAR(500) DEFAULT NULL,
    display_order INT DEFAULT 0,
    view_count INT DEFAULT 0
);
