|
...
|
...
|
@@ -72,70 +72,70 @@ class Demo extends Command |
|
|
|
// return true;
|
|
|
|
// }
|
|
|
|
|
|
|
|
// public function handle(){
|
|
|
|
// $keywordVideoModel = new KeywordVideoTask();
|
|
|
|
// $project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();
|
|
|
|
// $projectModel = new Project();
|
|
|
|
// $list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]);
|
|
|
|
// $data = [];
|
|
|
|
// foreach ($list as $v){
|
|
|
|
// echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
|
|
|
|
// ProjectServer::useProject($v['id']);
|
|
|
|
// $this->saveKeyword();
|
|
|
|
// DB::disconnect('custom_mysql');
|
|
|
|
// }
|
|
|
|
// echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// /**
|
|
|
|
// * @remark :关键字有视频的改为1
|
|
|
|
// * @name :getProductKeywordInfo
|
|
|
|
// * @author :lyh
|
|
|
|
// * @method :post
|
|
|
|
// * @time :2024/5/31 9:54
|
|
|
|
// */
|
|
|
|
// public function saveKeyword(){
|
|
|
|
// $keywordModel = new Keyword();
|
|
|
|
// $rs = $keywordModel->edit(['is_video_keyword'=>1],['video'=>['!=',null]]);
|
|
|
|
// echo date('Y-m-d H:i:s') . 'end'.$rs . PHP_EOL;
|
|
|
|
// return true;
|
|
|
|
// }
|
|
|
|
|
|
|
|
public function handle(){
|
|
|
|
//切换数据库配置
|
|
|
|
ProjectServer::useProject(1862);
|
|
|
|
return $this->initTable(1380,1862);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function initTable($project_id, $news_project_id)
|
|
|
|
{
|
|
|
|
config(['database.connections.custom_tmp_mysql_copy.database' => 'gl_data_' . $project_id]);
|
|
|
|
$database_name = DB::connection('custom_tmp_mysql_copy')->getDatabaseName();
|
|
|
|
$tables = Schema::connection('custom_tmp_mysql_copy')->getAllTables();
|
|
|
|
$tables = array_column($tables, 'Tables_in_' . $database_name);
|
|
|
|
foreach ($tables as $table) {
|
|
|
|
$has_table = Schema::connection('custom_mysql')->hasTable($table);
|
|
|
|
if (!$has_table) {
|
|
|
|
$sql = DB::connection('custom_tmp_mysql_copy')->select("SHOW CREATE TABLE {$table}");
|
|
|
|
DB::connection('custom_mysql')->statement(array_values((array)$sql[0])[0]); // 修正此处的sql语句获取方式
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($table == 'gl_customer_visit' || $table == 'gl_customer_visit_item' || $table == 'gl_inquiry_other' || $table == 'gl_inquiry_form_data' || $table == 'gl_inquiry_form') {
|
|
|
|
continue;
|
|
|
|
$keywordVideoModel = new KeywordVideoTask();
|
|
|
|
$project_id_arr = $keywordVideoModel::where('id','>',0)->pluck('project_id')->toArray();
|
|
|
|
$projectModel = new Project();
|
|
|
|
$list = $projectModel->list(['type'=>['!=',0],'delete_status'=>0,'id'=>['in',$project_id_arr]]);
|
|
|
|
$data = [];
|
|
|
|
foreach ($list as $v){
|
|
|
|
echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
|
|
|
|
ProjectServer::useProject($v['id']);
|
|
|
|
$this->saveKeyword();
|
|
|
|
DB::disconnect('custom_mysql');
|
|
|
|
}
|
|
|
|
DB::connection('custom_mysql')->table($table)->truncate(); // 清空目标表数据
|
|
|
|
DB::connection('custom_mysql')->table($table)->insertUsing(
|
|
|
|
[], // 列名数组,留空表示插入所有列
|
|
|
|
function ($query) use ($table, $project_id) {
|
|
|
|
$name = 'gl_data_' . $project_id . '.' . $table;
|
|
|
|
$query->select('*')->from("{$name}");
|
|
|
|
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
|
|
|
|
}
|
|
|
|
);
|
|
|
|
|
|
|
|
if (Schema::connection('custom_mysql')->hasColumn($table, 'project_id')) {
|
|
|
|
DB::connection('custom_mysql')->table($table)->update(['project_id' => $news_project_id]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
|
|
* @remark :关键字有视频的改为1
|
|
|
|
* @name :getProductKeywordInfo
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2024/5/31 9:54
|
|
|
|
*/
|
|
|
|
public function saveKeyword(){
|
|
|
|
$keywordModel = new Keyword();
|
|
|
|
$rs = $keywordModel->edit(['is_video_keyword'=>0],['video'=>'']);
|
|
|
|
echo date('Y-m-d H:i:s') . 'end'.$rs . PHP_EOL;
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
// public function handle(){
|
|
|
|
// //切换数据库配置
|
|
|
|
// ProjectServer::useProject(1862);
|
|
|
|
// return $this->initTable(1380,1862);
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// public function initTable($project_id, $news_project_id)
|
|
|
|
// {
|
|
|
|
// config(['database.connections.custom_tmp_mysql_copy.database' => 'gl_data_' . $project_id]);
|
|
|
|
// $database_name = DB::connection('custom_tmp_mysql_copy')->getDatabaseName();
|
|
|
|
// $tables = Schema::connection('custom_tmp_mysql_copy')->getAllTables();
|
|
|
|
// $tables = array_column($tables, 'Tables_in_' . $database_name);
|
|
|
|
// foreach ($tables as $table) {
|
|
|
|
// $has_table = Schema::connection('custom_mysql')->hasTable($table);
|
|
|
|
// if (!$has_table) {
|
|
|
|
// $sql = DB::connection('custom_tmp_mysql_copy')->select("SHOW CREATE TABLE {$table}");
|
|
|
|
// DB::connection('custom_mysql')->statement(array_values((array)$sql[0])[0]); // 修正此处的sql语句获取方式
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
// if ($table == 'gl_customer_visit' || $table == 'gl_customer_visit_item' || $table == 'gl_inquiry_other' || $table == 'gl_inquiry_form_data' || $table == 'gl_inquiry_form') {
|
|
|
|
// continue;
|
|
|
|
// }
|
|
|
|
// DB::connection('custom_mysql')->table($table)->truncate(); // 清空目标表数据
|
|
|
|
// DB::connection('custom_mysql')->table($table)->insertUsing(
|
|
|
|
// [], // 列名数组,留空表示插入所有列
|
|
|
|
// function ($query) use ($table, $project_id) {
|
|
|
|
// $name = 'gl_data_' . $project_id . '.' . $table;
|
|
|
|
// $query->select('*')->from("{$name}");
|
|
|
|
// }
|
|
|
|
// );
|
|
|
|
//
|
|
|
|
// if (Schema::connection('custom_mysql')->hasColumn($table, 'project_id')) {
|
|
|
|
// DB::connection('custom_mysql')->table($table)->update(['project_id' => $news_project_id]);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// return true;
|
|
|
|
// }
|
|
|
|
} |
...
|
...
|
|