PluginProbe
Yatra – Travel Booking & Tour Operator Software / 3.0.14.1
Yatra – Travel Booking & Tour Operator Software v3.0.14.1
3.0.16 3.0.15 3.0.14 3.0.14.1 3.0.14.2 3.0.12 3.0.13 3.0.11 3.0.10 3.0.9 3.0.8 3.0.7 3.0.6 3.0.5 3.0.5.1 3.0.4 3.0.3 3.0.2.9 3.0.2.7 3.0.2.8 3.0.2.6 trunk 1.0.0 2.0.0 2.0.1 All 84 releases
yatra / app / Database / Tables / TripItineraryDaysTable.php

TripItineraryDaysTable.php in Yatra – Travel Booking & Tour Operator Software 3.0.14.1, at app/Database/Tables/TripItineraryDaysTable.php

59 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Yatra\Database\Tables;
4
5 use Yatra\Database\Tables\BaseTable;
6
7 /**
8 * Trip Itinerary Days Table Class
9 *
10 * Stores day information for trip itineraries. Each row represents a day
11 * in a trip's itinerary with basic day-level information.
12 *
13 * @package Yatra\Database\Tables
14 * @since 2.0.0
15 */
16 class TripItineraryDaysTable extends BaseTable
17 {
18 /**
19 * Table name without prefix
20 *
21 * @var string The base table name without WordPress prefix
22 */
23 protected static string $table = 'yatra_trip_itinerary_days';
24
25 /**
26 * Get the complete table schema as raw SQL CREATE TABLE statement
27 *
28 * @return string Complete CREATE TABLE SQL statement
29 */
30 public static function getSchema(): string
31 {
32 $tableName = static::getTableName();
33 $charsetCollate = static::getCharsetCollate();
34
35 return <<<SQL
36 CREATE TABLE IF NOT EXISTS `{$tableName}` (
37 `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
38 `trip_id` bigint(20) unsigned NOT NULL,
39 `day_number` smallint(5) unsigned NOT NULL COMMENT 'Day 1, 2, 3...',
40 `title` varchar(255) DEFAULT NULL COMMENT 'Day title',
41 `description` text DEFAULT NULL COMMENT 'Day overview',
42 `order` smallint(5) unsigned DEFAULT 0,
43 `created_at` datetime DEFAULT CURRENT_TIMESTAMP,
44 `updated_at` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
45 `created_by` bigint(20) unsigned DEFAULT NULL COMMENT 'User ID who created this record',
46 `updated_by` bigint(20) unsigned DEFAULT NULL COMMENT 'User ID who last updated this record',
47 `metadata` longtext DEFAULT NULL COMMENT 'JSON: Additional metadata for future use',
48 PRIMARY KEY (`id`),
49 UNIQUE KEY `trip_day` (`trip_id`, `day_number`),
50 KEY `trip_id` (`trip_id`),
51 KEY `day_number` (`day_number`),
52 KEY `order` (`order`),
53 KEY `created_at` (`created_at`),
54 KEY `updated_at` (`updated_at`)
55 ) ENGINE=InnoDB {$charsetCollate} COMMENT='Trip itinerary days - day level information';
56 SQL;
57 }
58 }
59