CREATE TABLE IF NOT EXISTS "migrations"(
  "id" integer primary key autoincrement not null,
  "migration" varchar not null,
  "batch" integer not null
);
CREATE TABLE IF NOT EXISTS "password_reset_tokens"(
  "email" varchar not null,
  "token" varchar not null,
  "created_at" datetime,
  primary key("email")
);
CREATE TABLE IF NOT EXISTS "sessions"(
  "id" varchar not null,
  "user_id" integer,
  "ip_address" varchar,
  "user_agent" text,
  "payload" text not null,
  "last_activity" integer not null,
  primary key("id")
);
CREATE INDEX "sessions_user_id_index" on "sessions"("user_id");
CREATE INDEX "sessions_last_activity_index" on "sessions"("last_activity");
CREATE TABLE IF NOT EXISTS "cache"(
  "key" varchar not null,
  "value" text not null,
  "expiration" integer not null,
  primary key("key")
);
CREATE TABLE IF NOT EXISTS "cache_locks"(
  "key" varchar not null,
  "owner" varchar not null,
  "expiration" integer not null,
  primary key("key")
);
CREATE TABLE IF NOT EXISTS "jobs"(
  "id" integer primary key autoincrement not null,
  "queue" varchar not null,
  "payload" text not null,
  "attempts" integer not null,
  "reserved_at" integer,
  "available_at" integer not null,
  "created_at" integer not null
);
CREATE INDEX "jobs_queue_index" on "jobs"("queue");
CREATE TABLE IF NOT EXISTS "job_batches"(
  "id" varchar not null,
  "name" varchar not null,
  "total_jobs" integer not null,
  "pending_jobs" integer not null,
  "failed_jobs" integer not null,
  "failed_job_ids" text not null,
  "options" text,
  "cancelled_at" integer,
  "created_at" integer not null,
  "finished_at" integer,
  primary key("id")
);
CREATE TABLE IF NOT EXISTS "failed_jobs"(
  "id" integer primary key autoincrement not null,
  "uuid" varchar not null,
  "connection" text not null,
  "queue" text not null,
  "payload" text not null,
  "exception" text not null,
  "failed_at" datetime not null default CURRENT_TIMESTAMP
);
CREATE UNIQUE INDEX "failed_jobs_uuid_unique" on "failed_jobs"("uuid");
CREATE TABLE IF NOT EXISTS "footer_menus"(
  "id" integer primary key autoincrement not null,
  "title" varchar not null,
  "slug" varchar not null,
  "order" integer not null default '0',
  "is_active" tinyint(1) not null default '1',
  "created_at" datetime,
  "updated_at" datetime
);
CREATE UNIQUE INDEX "footer_menus_slug_unique" on "footer_menus"("slug");
CREATE TABLE IF NOT EXISTS "footer_menu_items"(
  "id" integer primary key autoincrement not null,
  "footer_menu_id" integer not null,
  "title" varchar not null,
  "url" varchar not null,
  "order" integer not null default '0',
  "is_active" tinyint(1) not null default '1',
  "created_at" datetime,
  "updated_at" datetime,
  foreign key("footer_menu_id") references "footer_menus"("id") on delete cascade
);
CREATE TABLE IF NOT EXISTS "settings"(
  "id" integer primary key autoincrement not null,
  "key" varchar not null,
  "value" text,
  "type" varchar check("type" in('string', 'text', 'json')) not null default 'string',
  "description" varchar,
  "created_at" datetime,
  "updated_at" datetime
);
CREATE UNIQUE INDEX "settings_key_unique" on "settings"("key");
CREATE TABLE IF NOT EXISTS "job_positions"(
  "id" integer primary key autoincrement not null,
  "title" varchar not null,
  "description" text not null,
  "location" varchar not null,
  "experience" varchar not null,
  "tags" text,
  "type" varchar check("type" in('full-time', 'part-time', 'contract', 'internship')) not null default 'full-time',
  "is_active" tinyint(1) not null default '1',
  "posted_at" datetime,
  "created_at" datetime,
  "updated_at" datetime
);
CREATE TABLE IF NOT EXISTS "job_applications"(
  "id" integer primary key autoincrement not null,
  "job_position_id" integer not null,
  "first_name" varchar not null,
  "last_name" varchar not null,
  "email" varchar not null,
  "phone" varchar not null,
  "cover_letter" text,
  "resume_path" varchar,
  "status" varchar check("status" in('pending', 'reviewed', 'accepted', 'rejected')) not null default 'pending',
  "created_at" datetime,
  "updated_at" datetime,
  foreign key("job_position_id") references "job_positions"("id") on delete cascade
);
CREATE TABLE IF NOT EXISTS "career_enquiries"(
  "id" integer primary key autoincrement not null,
  "first_name" varchar not null,
  "last_name" varchar not null,
  "email" varchar not null,
  "phone" varchar,
  "enquiry_type" varchar check("enquiry_type" in('cv-submission', 'coop-request', 'general-enquiry', 'internship')) not null,
  "message" text not null,
  "cv_path" varchar,
  "status" varchar check("status" in('new', 'reviewed', 'contacted', 'archived')) not null default 'new',
  "created_at" datetime,
  "updated_at" datetime
);
CREATE TABLE IF NOT EXISTS "roles"(
  "id" integer primary key autoincrement not null,
  "name" varchar not null,
  "display_name" varchar not null,
  "description" text,
  "is_active" tinyint(1) not null default '1',
  "created_at" datetime,
  "updated_at" datetime
);
CREATE UNIQUE INDEX "roles_name_unique" on "roles"("name");
CREATE TABLE IF NOT EXISTS "permissions"(
  "id" integer primary key autoincrement not null,
  "name" varchar not null,
  "display_name" varchar not null,
  "description" text,
  "group" varchar,
  "created_at" datetime,
  "updated_at" datetime
);
CREATE UNIQUE INDEX "permissions_name_unique" on "permissions"("name");
CREATE TABLE IF NOT EXISTS "role_permissions"(
  "id" integer primary key autoincrement not null,
  "role_id" integer not null,
  "permission_id" integer not null,
  "created_at" datetime,
  "updated_at" datetime,
  foreign key("role_id") references "roles"("id") on delete cascade,
  foreign key("permission_id") references "permissions"("id") on delete cascade
);
CREATE UNIQUE INDEX "role_permissions_role_id_permission_id_unique" on "role_permissions"(
  "role_id",
  "permission_id"
);
CREATE TABLE IF NOT EXISTS "users"(
  "id" integer primary key autoincrement not null,
  "name" varchar,
  "email" varchar not null,
  "email_verified_at" datetime,
  "password" varchar not null,
  "remember_token" varchar,
  "created_at" datetime,
  "updated_at" datetime,
  "first_name" varchar,
  "last_name" varchar,
  "phone" varchar,
  "department" varchar,
  "employee_id" varchar,
  "avatar" varchar,
  "role_id" integer,
  "status" varchar check("status" in('active', 'inactive', 'suspended')) not null default 'active',
  "first_login" tinyint(1) not null default '1',
  "created_by_admin_id" integer,
  "last_login_at" datetime,
  "last_login_ip" varchar,
  foreign key("role_id") references "roles"("id") on delete set null,
  foreign key("created_by_admin_id") references "users"("id") on delete set null
);
CREATE UNIQUE INDEX "users_email_unique" on "users"("email");
CREATE UNIQUE INDEX "users_employee_id_unique" on "users"("employee_id");
CREATE TABLE IF NOT EXISTS "user_activities"(
  "id" integer primary key autoincrement not null,
  "user_id" integer not null,
  "action" varchar not null,
  "description" text,
  "properties" text,
  "ip_address" varchar,
  "user_agent" text,
  "subject_type" varchar,
  "subject_id" integer,
  "created_at" datetime,
  "updated_at" datetime,
  foreign key("user_id") references "users"("id") on delete cascade
);
CREATE INDEX "user_activities_user_id_created_at_index" on "user_activities"(
  "user_id",
  "created_at"
);
CREATE INDEX "user_activities_action_created_at_index" on "user_activities"(
  "action",
  "created_at"
);
CREATE INDEX "user_activities_subject_type_subject_id_index" on "user_activities"(
  "subject_type",
  "subject_id"
);
CREATE TABLE IF NOT EXISTS "departments"(
  "id" integer primary key autoincrement not null,
  "name" varchar not null,
  "description" varchar,
  "code" varchar,
  "manager_name" varchar,
  "manager_email" varchar,
  "is_active" tinyint(1) not null default '1',
  "created_at" datetime,
  "updated_at" datetime
);
CREATE UNIQUE INDEX "departments_name_unique" on "departments"("name");
CREATE UNIQUE INDEX "departments_code_unique" on "departments"("code");
CREATE INDEX "departments_is_active_index" on "departments"("is_active");
CREATE TABLE IF NOT EXISTS "categories"(
  "id" integer primary key autoincrement not null,
  "name" varchar not null,
  "slug" varchar not null,
  "description" varchar,
  "color" varchar not null default '#6B7280',
  "icon" varchar,
  "is_active" tinyint(1) not null default '1',
  "sort_order" integer not null default '0',
  "created_at" datetime,
  "updated_at" datetime,
  "type" varchar not null default 'news'
);
CREATE UNIQUE INDEX "categories_slug_unique" on "categories"("slug");
CREATE TABLE IF NOT EXISTS "news"(
  "id" integer primary key autoincrement not null,
  "title" varchar not null,
  "slug" varchar not null,
  "excerpt" text,
  "content" text not null,
  "featured_image" varchar,
  "category" varchar not null default('general'),
  "author_id" integer not null,
  "is_featured" tinyint(1) not null default('0'),
  "is_published" tinyint(1) not null default('0'),
  "published_at" datetime,
  "meta_title" varchar,
  "meta_description" text,
  "tags" text,
  "created_at" datetime,
  "updated_at" datetime,
  "category_id" integer,
  foreign key("author_id") references users("id") on delete cascade on update no action,
  foreign key("category_id") references "categories"("id") on delete set null
);
CREATE INDEX "news_author_id_index" on "news"("author_id");
CREATE INDEX "news_category_index" on "news"("category");
CREATE INDEX "news_is_featured_index" on "news"("is_featured");
CREATE INDEX "news_is_published_published_at_index" on "news"(
  "is_published",
  "published_at"
);
CREATE UNIQUE INDEX "news_slug_unique" on "news"("slug");
CREATE TABLE IF NOT EXISTS "videos"(
  "id" integer primary key autoincrement not null,
  "title" varchar not null,
  "slug" varchar not null,
  "description" text,
  "video_url" varchar,
  "video_type" varchar not null default 'youtube',
  "video_id" varchar,
  "thumbnail_url" varchar,
  "duration" varchar,
  "duration_seconds" integer,
  "category" varchar,
  "tags" text,
  "is_featured" tinyint(1) not null default '0',
  "is_active" tinyint(1) not null default '1',
  "sort_order" integer not null default '0',
  "views_count" integer not null default '0',
  "published_at" datetime,
  "meta_title" varchar,
  "meta_description" text,
  "created_at" datetime,
  "updated_at" datetime,
  "thumbnail_path" varchar
);
CREATE INDEX "videos_is_active_published_at_index" on "videos"(
  "is_active",
  "published_at"
);
CREATE INDEX "videos_category_is_active_index" on "videos"(
  "category",
  "is_active"
);
CREATE INDEX "videos_is_featured_is_active_index" on "videos"(
  "is_featured",
  "is_active"
);
CREATE INDEX "videos_slug_index" on "videos"("slug");
CREATE UNIQUE INDEX "videos_slug_unique" on "videos"("slug");
CREATE TABLE IF NOT EXISTS "reports"(
  "id" integer primary key autoincrement not null,
  "title" varchar not null,
  "slug" varchar not null,
  "description" text not null,
  "category" varchar check("category" in('financial', 'board', 'annual')) not null,
  "file_path" varchar,
  "file_url" varchar,
  "file_size" varchar,
  "file_type" varchar not null default 'PDF',
  "published_at" date not null,
  "is_active" tinyint(1) not null default '1',
  "sort_order" integer not null default '0',
  "download_count" integer not null default '0',
  "created_at" datetime,
  "updated_at" datetime
);
CREATE UNIQUE INDEX "reports_slug_unique" on "reports"("slug");
CREATE TABLE IF NOT EXISTS "investor_inquiries"(
  "id" integer primary key autoincrement not null,
  "full_name" varchar not null,
  "email" varchar not null,
  "phone" varchar,
  "inquiry_type" varchar check("inquiry_type" in('financial_information', 'annual_reports', 'stock_performance', 'dividend_information', 'general_inquiry', 'shareholder_services', 'corporate_governance')) not null default 'general_inquiry',
  "message" text not null,
  "status" varchar check("status" in('pending', 'reviewed', 'responded', 'closed')) not null default 'pending',
  "admin_notes" text,
  "responded_at" datetime,
  "responded_by" integer,
  "ip_address" varchar,
  "user_agent" varchar,
  "created_at" datetime,
  "updated_at" datetime
);
CREATE INDEX "investor_inquiries_status_index" on "investor_inquiries"(
  "status"
);
CREATE INDEX "investor_inquiries_created_at_index" on "investor_inquiries"(
  "created_at"
);
CREATE INDEX "investor_inquiries_email_index" on "investor_inquiries"("email");
CREATE TABLE IF NOT EXISTS "team_members"(
  "id" integer primary key autoincrement not null,
  "name" varchar not null,
  "position" varchar not null,
  "description" text not null,
  "image" varchar,
  "section" varchar check("section" in('board_members', 'ceo', 'executive_management')) not null,
  "sort_order" integer not null default '0',
  "is_active" tinyint(1) not null default '1',
  "created_at" datetime,
  "updated_at" datetime
);
CREATE TABLE IF NOT EXISTS "contact_inquiries"(
  "id" integer primary key autoincrement not null,
  "name" varchar not null,
  "email" varchar not null,
  "phone" varchar,
  "company" varchar,
  "subject" varchar check("subject" in('general', 'product', 'quote', 'support', 'partnership')) not null,
  "message" text not null,
  "status" varchar check("status" in('pending', 'reviewed', 'responded', 'closed')) not null default 'pending',
  "ip_address" varchar,
  "user_agent" text,
  "responded_at" datetime,
  "responded_by" integer,
  "admin_notes" text,
  "created_at" datetime,
  "updated_at" datetime,
  foreign key("responded_by") references "users"("id") on delete set null
);
CREATE TABLE IF NOT EXISTS "product_categories"(
  "id" integer primary key autoincrement not null,
  "name" varchar not null,
  "slug" varchar not null,
  "description" text,
  "image" varchar,
  "sort_order" integer not null default '0',
  "is_active" tinyint(1) not null default '1',
  "created_at" datetime,
  "updated_at" datetime
);
CREATE UNIQUE INDEX "product_categories_slug_unique" on "product_categories"(
  "slug"
);
CREATE TABLE IF NOT EXISTS "product_standards"(
  "id" integer primary key autoincrement not null,
  "category_id" integer not null,
  "name" varchar not null,
  "code" varchar,
  "description" text,
  "sort_order" integer not null default '0',
  "is_active" tinyint(1) not null default '1',
  "created_at" datetime,
  "updated_at" datetime,
  foreign key("category_id") references "product_categories"("id") on delete cascade
);
CREATE INDEX "product_standards_category_id_is_active_index" on "product_standards"(
  "category_id",
  "is_active"
);
CREATE TABLE IF NOT EXISTS "product_specifications"(
  "id" integer primary key autoincrement not null,
  "product_id" integer not null,
  "spec_type" varchar not null,
  "name" varchar not null,
  "value" text not null,
  "unit" varchar,
  "sort_order" integer not null default '0',
  "created_at" datetime,
  "updated_at" datetime,
  "standard" varchar,
  "thickness" varchar,
  "length" varchar,
  "width" varchar,
  "file_name" varchar,
  "file_path" varchar,
  "is_active" tinyint(1) not null default '1',
  foreign key("product_id") references "products"("id") on delete cascade
);
CREATE INDEX "product_specifications_product_id_spec_type_index" on "product_specifications"(
  "product_id",
  "spec_type"
);
CREATE TABLE IF NOT EXISTS "product_subcategories"(
  "id" integer primary key autoincrement not null,
  "standard_id" integer not null,
  "name" varchar not null,
  "slug" varchar,
  "description" text,
  "sort_order" integer not null default '0',
  "is_active" tinyint(1) not null default '1',
  "created_at" datetime,
  "updated_at" datetime,
  foreign key("standard_id") references "product_standards"("id") on delete cascade
);
CREATE INDEX "product_subcategories_standard_id_is_active_index" on "product_subcategories"(
  "standard_id",
  "is_active"
);
CREATE UNIQUE INDEX "product_subcategories_standard_id_slug_unique" on "product_subcategories"(
  "standard_id",
  "slug"
);
CREATE TABLE IF NOT EXISTS "product_applications"(
  "id" integer primary key autoincrement not null,
  "standard_id" integer,
  "name" varchar not null,
  "description" text,
  "sort_order" integer not null default('0'),
  "is_active" tinyint(1) not null default('1'),
  "created_at" datetime,
  "updated_at" datetime,
  "subcategory_id" integer,
  foreign key("standard_id") references product_standards("id") on delete cascade on update no action,
  foreign key("subcategory_id") references "product_subcategories"("id") on delete cascade
);
CREATE INDEX "product_applications_standard_id_is_active_index" on "product_applications"(
  "standard_id",
  "is_active"
);
CREATE INDEX "product_applications_subcategory_id_is_active_index" on "product_applications"(
  "subcategory_id",
  "is_active"
);
CREATE TABLE IF NOT EXISTS "products"(
  "id" integer primary key autoincrement not null,
  "application_id" integer,
  "name" varchar not null,
  "slug" varchar not null,
  "description" text,
  "features" text,
  "image" varchar,
  "images" text,
  "thickness_min" numeric,
  "thickness_max" numeric,
  "thickness_unit" varchar not null default('mm'),
  "sort_order" integer not null default('0'),
  "is_featured" tinyint(1) not null default('0'),
  "is_active" tinyint(1) not null default('1'),
  "created_at" datetime,
  "updated_at" datetime,
  "standard_id" integer,
  foreign key("application_id") references product_applications("id") on delete cascade on update no action,
  foreign key("standard_id") references "product_standards"("id") on delete set null
);
CREATE INDEX "products_application_id_is_active_index" on "products"(
  "application_id",
  "is_active"
);
CREATE INDEX "products_is_featured_index" on "products"("is_featured");
CREATE UNIQUE INDEX "products_slug_unique" on "products"("slug");
CREATE TABLE IF NOT EXISTS "pages"(
  "id" integer primary key autoincrement not null,
  "title" varchar not null,
  "slug" varchar not null,
  "route_name" varchar not null,
  "meta_description" text,
  "meta_keywords" text,
  "is_enabled" tinyint(1) not null default '1',
  "show_in_nav" tinyint(1) not null default '1',
  "sort_order" integer not null default '0',
  "content_sections" text,
  "custom_css" text,
  "custom_js" text,
  "template" varchar not null default 'default',
  "created_at" datetime,
  "updated_at" datetime
);
CREATE INDEX "pages_is_enabled_sort_order_index" on "pages"(
  "is_enabled",
  "sort_order"
);
CREATE INDEX "pages_slug_index" on "pages"("slug");
CREATE UNIQUE INDEX "pages_slug_unique" on "pages"("slug");
CREATE UNIQUE INDEX "pages_route_name_unique" on "pages"("route_name");
CREATE TABLE IF NOT EXISTS "video_settings"(
  "id" integer primary key autoincrement not null,
  "key" varchar not null,
  "title" varchar not null,
  "description" varchar,
  "video_type" varchar not null default 'youtube',
  "video_url" text not null,
  "video_id" varchar,
  "thumbnail_url" varchar,
  "settings" text,
  "is_enabled" tinyint(1) not null default '1',
  "preload_at" datetime,
  "created_at" datetime,
  "updated_at" datetime,
  "video_file_path" varchar,
  "thumbnail_file_path" varchar
);
CREATE UNIQUE INDEX "video_settings_key_unique" on "video_settings"("key");
CREATE TABLE IF NOT EXISTS "site_settings"(
  "id" integer primary key autoincrement not null,
  "key" varchar not null,
  "value" text,
  "type" varchar not null default 'text',
  "group" varchar not null default 'general',
  "label" varchar not null,
  "description" text,
  "is_active" tinyint(1) not null default '1',
  "sort_order" integer not null default '0',
  "created_at" datetime,
  "updated_at" datetime
);
CREATE INDEX "site_settings_group_is_active_index" on "site_settings"(
  "group",
  "is_active"
);
CREATE INDEX "site_settings_key_index" on "site_settings"("key");
CREATE UNIQUE INDEX "site_settings_key_unique" on "site_settings"("key");

INSERT INTO migrations VALUES(1,'0001_01_01_000000_create_users_table',1);
INSERT INTO migrations VALUES(2,'0001_01_01_000001_create_cache_table',1);
INSERT INTO migrations VALUES(3,'0001_01_01_000002_create_jobs_table',1);
INSERT INTO migrations VALUES(4,'2025_09_26_173417_create_products_table',1);
INSERT INTO migrations VALUES(5,'2025_09_26_173431_create_news_table',1);
INSERT INTO migrations VALUES(6,'2025_09_26_173444_create_footer_menus_table',1);
INSERT INTO migrations VALUES(7,'2025_09_26_173456_create_footer_menu_items_table',1);
INSERT INTO migrations VALUES(8,'2025_09_26_173508_create_settings_table',1);
INSERT INTO migrations VALUES(9,'2025_09_29_091459_create_job_positions_table',2);
INSERT INTO migrations VALUES(10,'2025_09_29_121730_create_job_applications_table',3);
INSERT INTO migrations VALUES(11,'2025_09_29_172218_create_career_enquiries_table',4);
INSERT INTO migrations VALUES(12,'2025_09_30_063355_create_roles_table',5);
INSERT INTO migrations VALUES(13,'2025_09_30_063413_create_permissions_table',5);
INSERT INTO migrations VALUES(14,'2025_09_30_063430_create_role_permissions_table',5);
INSERT INTO migrations VALUES(15,'2025_09_30_063448_enhance_users_table',5);
INSERT INTO migrations VALUES(16,'2025_09_30_063530_create_user_activities_table',5);
INSERT INTO migrations VALUES(17,'2025_09_30_072133_create_departments_table',6);
INSERT INTO migrations VALUES(18,'2025_09_30_073942_create_news_table',7);
INSERT INTO migrations VALUES(19,'2025_09_30_080714_create_categories_table',8);
INSERT INTO migrations VALUES(20,'2025_09_30_080826_update_news_table_for_categories',8);
INSERT INTO migrations VALUES(21,'2025_09_30_084534_create_videos_table',9);
INSERT INTO migrations VALUES(22,'2025_09_30_091622_add_thumbnail_path_to_videos_table',10);
INSERT INTO migrations VALUES(23,'2025_09_30_100915_add_type_to_categories_table',11);
INSERT INTO migrations VALUES(24,'2025_09_30_103337_create_reports_table',12);
INSERT INTO migrations VALUES(25,'2025_09_30_121317_create_investor_inquiries_table',13);
INSERT INTO migrations VALUES(26,'2025_09_30_135407_create_team_members_table',14);
INSERT INTO migrations VALUES(27,'2025_09_30_142648_create_contact_inquiries_table',15);
INSERT INTO migrations VALUES(31,'2025_09_30_172451_create_product_categories_table',16);
INSERT INTO migrations VALUES(32,'2025_09_30_172501_create_product_standards_table',16);
INSERT INTO migrations VALUES(33,'2025_09_30_172511_create_product_applications_table',16);
INSERT INTO migrations VALUES(34,'2025_09_30_173134_drop_old_products_table',17);
INSERT INTO migrations VALUES(35,'2025_09_30_172520_create_products_table',18);
INSERT INTO migrations VALUES(36,'2025_09_30_172531_create_product_specifications_table',18);
INSERT INTO migrations VALUES(37,'2025_10_01_111012_create_product_subcategories_table',19);
INSERT INTO migrations VALUES(38,'2025_10_01_111040_modify_product_applications_add_subcategory_reference',19);
INSERT INTO migrations VALUES(39,'2025_10_01_120746_make_application_id_nullable_in_products_table',20);
INSERT INTO migrations VALUES(40,'2025_10_01_122725_add_standard_id_to_products_table',21);
INSERT INTO migrations VALUES(41,'2025_10_01_181443_create_pages_table',22);
INSERT INTO migrations VALUES(42,'2025_10_01_184722_create_video_settings_table',23);
INSERT INTO migrations VALUES(43,'2025_10_01_191540_add_upload_fields_to_video_settings_table',24);
INSERT INTO migrations VALUES(44,'2025_10_02_061735_add_datasheet_to_products_table',25);
INSERT INTO migrations VALUES(45,'2025_10_02_071409_modify_product_specifications_for_tech_specs',26);
INSERT INTO migrations VALUES(46,'2025_10_02_073950_remove_unused_fields_from_products_table',27);
INSERT INTO migrations VALUES(47,'2025_10_03_074625_create_site_settings_table',28);
