作者 李宇航

合并分支 'lyh-server' 到 'master'

gxshuju



查看合并请求 !1407
@@ -50,7 +50,6 @@ class CopyProject extends Command @@ -50,7 +50,6 @@ class CopyProject extends Command
50 continue; 50 continue;
51 } 51 }
52 foreach ($list as $item){ 52 foreach ($list as $item){
53 - DB::beginTransaction();  
54 try { 53 try {
55 $old_project_id = $item['data']['project_id']; 54 $old_project_id = $item['data']['project_id'];
56 $this->output('CopyProjectJob start, project_id: ' . $old_project_id); 55 $this->output('CopyProjectJob start, project_id: ' . $old_project_id);
@@ -70,9 +69,7 @@ class CopyProject extends Command @@ -70,9 +69,7 @@ class CopyProject extends Command
70 $this->output('CopyProjectJob end, old project_id: ' . $old_project_id . ', new project_id: ' . $project_id); 69 $this->output('CopyProjectJob end, old project_id: ' . $old_project_id . ', new project_id: ' . $project_id);
71 $item->status = NoticeLog::STATUS_SUCCESS; 70 $item->status = NoticeLog::STATUS_SUCCESS;
72 $item->save(); 71 $item->save();
73 - DB::commit();  
74 }catch (\Exception $e){ 72 }catch (\Exception $e){
75 - DB::rollBack();  
76 echo 'error:' . $item['id'] . $e->getMessage() . PHP_EOL . date('Y-m-d H:i:s'); 73 echo 'error:' . $item['id'] . $e->getMessage() . PHP_EOL . date('Y-m-d H:i:s');
77 errorLog('项目初始化失败', $item, $e); 74 errorLog('项目初始化失败', $item, $e);
78 $item->status = NoticeLog::STATUS_FAIL; 75 $item->status = NoticeLog::STATUS_FAIL;
@@ -242,15 +239,10 @@ class CopyProject extends Command @@ -242,15 +239,10 @@ class CopyProject extends Command
242 $sql = DB::connection('custom_tmp_mysql_copy')->select("SHOW CREATE TABLE {$table}"); 239 $sql = DB::connection('custom_tmp_mysql_copy')->select("SHOW CREATE TABLE {$table}");
243 DB::connection('custom_mysql')->statement(get_object_vars($sql[0])['Create Table']); 240 DB::connection('custom_mysql')->statement(get_object_vars($sql[0])['Create Table']);
244 // 3. 跳过指定的表 241 // 3. 跳过指定的表
245 - if (in_array($table, [  
246 - 'gl_customer_visit',  
247 - 'gl_customer_visit_item',  
248 - 'gl_inquiry_other',  
249 - 'gl_inquiry_form_data',  
250 - 'gl_inquiry_form'  
251 - ])) { 242 + if (in_array($table, ['gl_customer_visit', 'gl_customer_visit_item', 'gl_inquiry_other', 'gl_inquiry_form_data', 'gl_inquiry_form'])) {
252 continue; 243 continue;
253 } 244 }
  245 + try {
254 // 4. 重新插入数据 246 // 4. 重新插入数据
255 DB::connection('custom_mysql')->table($table)->insertUsing( 247 DB::connection('custom_mysql')->table($table)->insertUsing(
256 [], // 插入所有列 248 [], // 插入所有列
@@ -259,6 +251,9 @@ class CopyProject extends Command @@ -259,6 +251,9 @@ class CopyProject extends Command
259 $query->select('*')->from("{$name}"); 251 $query->select('*')->from("{$name}");
260 } 252 }
261 ); 253 );
  254 + }catch (\Exception $e){
  255 + continue;
  256 + }
262 // 5. 更新 project_id(如果存在) 257 // 5. 更新 project_id(如果存在)
263 if (Schema::connection('custom_mysql')->hasColumn($table, 'project_id')) { 258 if (Schema::connection('custom_mysql')->hasColumn($table, 'project_id')) {
264 DB::connection('custom_mysql')->table($table)->update(['project_id' => $news_project_id]); 259 DB::connection('custom_mysql')->table($table)->update(['project_id' => $news_project_id]);