load(); \support\App::loadAllConfig(['route']); use plugin\saiadmin\app\model\water\WaterAlertSetting; $schema=(new WaterAlertSetting())->getConnection()->getSchemaBuilder(); if (!in_array('--apply',$argv,true)) { echo "Plan: create platform alert settings with defaults 5 barrels / 3 days / urgent 2.\n"; exit; } if (!$schema->hasTable('sa_water_alert_setting')) { $schema->create('sa_water_alert_setting',function (\Illuminate\Database\Schema\Blueprint $table) { $table->engine = 'InnoDB'; $table->unsignedInteger('id')->primary(); $table->unsignedInteger('alert_qty'); $table->unsignedInteger('days_per_barrel'); $table->unsignedInteger('urgent_qty'); $table->unsignedInteger('revision')->default(1); $table->unsignedBigInteger('updated_by')->default(0); $table->dateTime('updated_at')->nullable(); }); } $db=(new WaterAlertSetting())->getConnection(); $engine=$db->selectOne("SELECT ENGINE AS engine FROM information_schema.TABLES WHERE TABLE_SCHEMA=DATABASE() AND TABLE_NAME='sa_water_alert_setting'"); if (strtoupper((string)$engine->engine)!=='INNODB') $db->statement('ALTER TABLE sa_water_alert_setting ENGINE=InnoDB'); WaterAlertSetting::query()->insertOrIgnore(['id'=>1,'alert_qty'=>5,'days_per_barrel'=>3,'urgent_qty'=>2,'revision'=>1]); echo "Applied: platform alert settings ready; existing settings preserved.\n";