|
...
|
...
|
@@ -20,6 +20,7 @@ use App\Models\RouteMap\RouteMap; |
|
|
|
use App\Services\ProjectServer;
|
|
|
|
use Illuminate\Console\Command;
|
|
|
|
use Illuminate\Support\Facades\DB;
|
|
|
|
use Illuminate\Support\Facades\Schema;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :更新所有项目的路由
|
|
...
|
...
|
@@ -53,12 +54,12 @@ class UpdateRoute extends Command |
|
|
|
*/
|
|
|
|
public function handle(){
|
|
|
|
$projectModel = new Project();
|
|
|
|
$list = $projectModel->list(['id'=>783]);
|
|
|
|
$list = $projectModel->list(['id'=>1]);
|
|
|
|
$data = [];
|
|
|
|
foreach ($list as $v){
|
|
|
|
echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
|
|
|
|
ProjectServer::useProject($v['id']);
|
|
|
|
$this->setProductKeyword();
|
|
|
|
$this->copyTable();
|
|
|
|
DB::disconnect('custom_mysql');
|
|
|
|
}
|
|
|
|
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
|
|
...
|
...
|
@@ -344,4 +345,48 @@ class UpdateRoute extends Command |
|
|
|
RouteMap::setRoute($v['route'],'product_keyword',$v['id'],569);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public function copyTable()
|
|
|
|
{
|
|
|
|
$sourceTable = 'gl_route_map';
|
|
|
|
$destinationTable = 'gl_route_map_copy';
|
|
|
|
if (!Schema::hasTable($sourceTable)) {
|
|
|
|
$this->error("Source table {$sourceTable} does not exist.");
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
if (Schema::hasTable($destinationTable)) {
|
|
|
|
Schema::dropIfExists($destinationTable);
|
|
|
|
}
|
|
|
|
$columns = DB::select(DB::raw("SHOW COLUMNS FROM {$sourceTable}"));
|
|
|
|
$columnsDefinition = collect($columns)->map(function($column) {
|
|
|
|
return $column->Field . ' ' . $column->Type . ($column->Null === 'NO' ? ' NOT NULL' : '') . ($column->Default !== null ? " DEFAULT '" . $column->Default . "'" : '') . ($column->Extra ? ' ' . $column->Extra : '');
|
|
|
|
})->implode(', ');
|
|
|
|
DB::statement("CREATE TABLE {$destinationTable} ({$columnsDefinition})");
|
|
|
|
DB::statement("INSERT INTO {$destinationTable} SELECT * FROM {$sourceTable}");
|
|
|
|
$this->info("Table {$sourceTable} has been copied to {$destinationTable} successfully.");
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :routeMap去重
|
|
|
|
* @name :routeMapDeduplication
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/5/28 11:31
|
|
|
|
*/
|
|
|
|
public function routeMapDeduplication(){
|
|
|
|
$this->copyTable();
|
|
|
|
// $routeMapModel = new RouteMap();
|
|
|
|
// $lists = $routeMapModel->list(['source'=>'product_keyword'],'id',['id'],'asc');
|
|
|
|
// foreach ($lists as $v){
|
|
|
|
// echo date('Y-m-d H:i:s') . '关键字id:'.$v['id'] . PHP_EOL;
|
|
|
|
// //查询当前数据详情
|
|
|
|
// $info = $routeMapModel->read(['id'=>$v['id']],['id','source_id']);
|
|
|
|
// if($info !== false){
|
|
|
|
// //删除其他一样的数据
|
|
|
|
// $routeMapModel->del(['id'=>['!=',$info['id']],'source'=>'product_keyword','source_id'=>$info['source_id']]);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|