正在显示
1 个修改的文件
包含
47 行增加
和
2 行删除
| @@ -20,6 +20,7 @@ use App\Models\RouteMap\RouteMap; | @@ -20,6 +20,7 @@ use App\Models\RouteMap\RouteMap; | ||
| 20 | use App\Services\ProjectServer; | 20 | use App\Services\ProjectServer; |
| 21 | use Illuminate\Console\Command; | 21 | use Illuminate\Console\Command; |
| 22 | use Illuminate\Support\Facades\DB; | 22 | use Illuminate\Support\Facades\DB; |
| 23 | +use Illuminate\Support\Facades\Schema; | ||
| 23 | 24 | ||
| 24 | /** | 25 | /** |
| 25 | * @remark :更新所有项目的路由 | 26 | * @remark :更新所有项目的路由 |
| @@ -53,12 +54,12 @@ class UpdateRoute extends Command | @@ -53,12 +54,12 @@ class UpdateRoute extends Command | ||
| 53 | */ | 54 | */ |
| 54 | public function handle(){ | 55 | public function handle(){ |
| 55 | $projectModel = new Project(); | 56 | $projectModel = new Project(); |
| 56 | - $list = $projectModel->list(['id'=>783]); | 57 | + $list = $projectModel->list(['id'=>1]); |
| 57 | $data = []; | 58 | $data = []; |
| 58 | foreach ($list as $v){ | 59 | foreach ($list as $v){ |
| 59 | echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL; | 60 | echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL; |
| 60 | ProjectServer::useProject($v['id']); | 61 | ProjectServer::useProject($v['id']); |
| 61 | - $this->setProductKeyword(); | 62 | + $this->copyTable(); |
| 62 | DB::disconnect('custom_mysql'); | 63 | DB::disconnect('custom_mysql'); |
| 63 | } | 64 | } |
| 64 | echo date('Y-m-d H:i:s') . 'end' . PHP_EOL; | 65 | echo date('Y-m-d H:i:s') . 'end' . PHP_EOL; |
| @@ -344,4 +345,48 @@ class UpdateRoute extends Command | @@ -344,4 +345,48 @@ class UpdateRoute extends Command | ||
| 344 | RouteMap::setRoute($v['route'],'product_keyword',$v['id'],569); | 345 | RouteMap::setRoute($v['route'],'product_keyword',$v['id'],569); |
| 345 | } | 346 | } |
| 346 | } | 347 | } |
| 348 | + | ||
| 349 | + public function copyTable() | ||
| 350 | + { | ||
| 351 | + $sourceTable = 'gl_route_map'; | ||
| 352 | + $destinationTable = 'gl_route_map_copy'; | ||
| 353 | + if (!Schema::hasTable($sourceTable)) { | ||
| 354 | + $this->error("Source table {$sourceTable} does not exist."); | ||
| 355 | + return false; | ||
| 356 | + } | ||
| 357 | + if (Schema::hasTable($destinationTable)) { | ||
| 358 | + Schema::dropIfExists($destinationTable); | ||
| 359 | + } | ||
| 360 | + $columns = DB::select(DB::raw("SHOW COLUMNS FROM {$sourceTable}")); | ||
| 361 | + $columnsDefinition = collect($columns)->map(function($column) { | ||
| 362 | + return $column->Field . ' ' . $column->Type . ($column->Null === 'NO' ? ' NOT NULL' : '') . ($column->Default !== null ? " DEFAULT '" . $column->Default . "'" : '') . ($column->Extra ? ' ' . $column->Extra : ''); | ||
| 363 | + })->implode(', '); | ||
| 364 | + DB::statement("CREATE TABLE {$destinationTable} ({$columnsDefinition})"); | ||
| 365 | + DB::statement("INSERT INTO {$destinationTable} SELECT * FROM {$sourceTable}"); | ||
| 366 | + $this->info("Table {$sourceTable} has been copied to {$destinationTable} successfully."); | ||
| 367 | + } | ||
| 368 | + | ||
| 369 | + | ||
| 370 | + /** | ||
| 371 | + * @remark :routeMap去重 | ||
| 372 | + * @name :routeMapDeduplication | ||
| 373 | + * @author :lyh | ||
| 374 | + * @method :post | ||
| 375 | + * @time :2024/5/28 11:31 | ||
| 376 | + */ | ||
| 377 | + public function routeMapDeduplication(){ | ||
| 378 | + $this->copyTable(); | ||
| 379 | +// $routeMapModel = new RouteMap(); | ||
| 380 | +// $lists = $routeMapModel->list(['source'=>'product_keyword'],'id',['id'],'asc'); | ||
| 381 | +// foreach ($lists as $v){ | ||
| 382 | +// echo date('Y-m-d H:i:s') . '关键字id:'.$v['id'] . PHP_EOL; | ||
| 383 | +// //查询当前数据详情 | ||
| 384 | +// $info = $routeMapModel->read(['id'=>$v['id']],['id','source_id']); | ||
| 385 | +// if($info !== false){ | ||
| 386 | +// //删除其他一样的数据 | ||
| 387 | +// $routeMapModel->del(['id'=>['!=',$info['id']],'source'=>'product_keyword','source_id'=>$info['source_id']]); | ||
| 388 | +// } | ||
| 389 | +// } | ||
| 390 | + return true; | ||
| 391 | + } | ||
| 347 | } | 392 | } |
-
请 注册 或 登录 后发表评论