Deploy: 2026-05-25 00:34:54
This commit is contained in:
@@ -1,16 +1,15 @@
|
|||||||
<?php
|
<?php
|
||||||
require __DIR__ . '/vendor/autoload.php';
|
if (php_sapi_name() !== 'cli') {
|
||||||
|
http_response_code(403);
|
||||||
|
exit('Access denied.');
|
||||||
|
}
|
||||||
|
|
||||||
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
|
require_once __DIR__ . '/app/bootstrap.php';
|
||||||
$dotenv->safeLoad();
|
|
||||||
|
use App\Core\Database;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$pdo = new PDO(
|
$pdo = Database::getConnection();
|
||||||
"mysql:host=" . $_ENV['DB_HOST'] . ";dbname=" . $_ENV['DB_NAME'],
|
|
||||||
$_ENV['DB_USER'],
|
|
||||||
$_ENV['DB_PASS']
|
|
||||||
);
|
|
||||||
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
|
||||||
|
|
||||||
echo "=== Running Database Migrations: Meta Channel Integration ===\n";
|
echo "=== Running Database Migrations: Meta Channel Integration ===\n";
|
||||||
|
|
||||||
@@ -30,25 +29,24 @@ try {
|
|||||||
UNIQUE KEY `page_channel_unique` (`page_id`, `channel_type`)
|
UNIQUE KEY `page_channel_unique` (`page_id`, `channel_type`)
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||||
";
|
";
|
||||||
$pdo->exec($createSessionsTableSql);
|
Database::execute($createSessionsTableSql);
|
||||||
echo "✅ Table 'meta_sessions' verified/created.\n";
|
echo "✅ Table 'meta_sessions' verified/created.\n";
|
||||||
|
|
||||||
// 2. Make session_id column in messages_log nullable
|
// 2. Make session_id column in messages_log nullable
|
||||||
// First check current column definition or just modify it
|
Database::execute("ALTER TABLE `messages_log` MODIFY COLUMN `session_id` INT NULL");
|
||||||
$pdo->exec("ALTER TABLE `messages_log` MODIFY COLUMN `session_id` INT NULL");
|
|
||||||
echo "✅ Modified 'session_id' in 'messages_log' to be nullable.\n";
|
echo "✅ Modified 'session_id' in 'messages_log' to be nullable.\n";
|
||||||
|
|
||||||
// 3. Add meta_session_id column if not exists
|
// 3. Add meta_session_id column if not exists
|
||||||
$result = $pdo->query("SHOW COLUMNS FROM `messages_log` LIKE 'meta_session_id'");
|
$columns = Database::select("SHOW COLUMNS FROM `messages_log` LIKE 'meta_session_id'");
|
||||||
if ($result->rowCount() === 0) {
|
if (empty($columns)) {
|
||||||
$pdo->exec("ALTER TABLE `messages_log` ADD COLUMN `meta_session_id` INT NULL AFTER `session_id`");
|
Database::execute("ALTER TABLE `messages_log` ADD COLUMN `meta_session_id` INT NULL AFTER `session_id`");
|
||||||
$pdo->exec("ALTER TABLE `messages_log` ADD CONSTRAINT `fk_msg_meta_session` FOREIGN KEY (`meta_session_id`) REFERENCES `meta_sessions`(`id`) ON DELETE CASCADE");
|
Database::execute("ALTER TABLE `messages_log` ADD CONSTRAINT `fk_msg_meta_session` FOREIGN KEY (`meta_session_id`) REFERENCES `meta_sessions`(`id`) ON DELETE CASCADE");
|
||||||
echo "✅ Added 'meta_session_id' column and foreign key constraint to 'messages_log'.\n";
|
echo "✅ Added 'meta_session_id' column and foreign key constraint to 'messages_log'.\n";
|
||||||
} else {
|
} else {
|
||||||
echo "ℹ️ Column 'meta_session_id' already exists in 'messages_log'. Skipping.\n";
|
echo "ℹ️ Column 'meta_session_id' already exists in 'messages_log'. Skipping.\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Migration completed successfully!\n";
|
echo "Migration completed successfully!\n";
|
||||||
} catch (PDOException $e) {
|
} catch (\Exception $e) {
|
||||||
echo "❌ Database error: " . $e->getMessage() . "\n";
|
echo "❌ Migration error: " . $e->getMessage() . "\n";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user