| 1234567891011121314 |
- <?php
- /** 仅增加路线优化元数据及短期预览表,保留全部原业务数据。 */
- require dirname(__DIR__).'/vendor/autoload.php';
- \Dotenv\Dotenv::createUnsafeMutable(dirname(__DIR__))->load();
- \support\App::loadAllConfig(['route']);
- use support\Db;
- if (!in_array('--apply',$argv,true)) { echo "Plan: add nullable route optimization JSON text and route preview table. No data deletion.\n"; exit; }
- if (!Db::select("SHOW COLUMNS FROM sa_water_route LIKE 'optimization'")) Db::statement('ALTER TABLE sa_water_route ADD COLUMN optimization LONGTEXT NULL');
- Db::statement("CREATE TABLE IF NOT EXISTS sa_water_route_preview (
- id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, token CHAR(64) NOT NULL, actor_id BIGINT UNSIGNED NOT NULL,
- tasks_hash CHAR(64) NOT NULL, payload LONGTEXT NOT NULL, expires_at DATETIME NOT NULL,
- UNIQUE KEY preview_token(token), KEY preview_expiry(expires_at)
- ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4");
- echo "Applied additive route optimization migration.\n";
|