yii2資料庫表與表之間的遷移
阿新 • • 發佈:2018-11-03
public function actionThirdEditionAdmin() { $sql = file_get_contents(__DIR__ . '/../../../../common/sql/20180815_hyz.sql'); $database = 'hyizu'; Yii::$app->setComponents([ 'db' => [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname='.$database, 'username' => Yii::$app->params['dbName'], 'password' => Yii::$app->params['dbPassword'], 'charset' => 'utf8mb4', ], ]); print_r($database.' start execution'."\n"); if (Yii::$app->db->createCommand($sql)->execute()) { print_r($database.' created table tbl_admin_v3 success'."\n"); } else { print_r($database.' created table tbl_admin_v3 error'."\n"); } $admin = (new \yii\db\Query()) ->select('id, wx_id, authorizer_appid, name, phone, access_token, auth_key, password_hash, avatar, address, serial, identity_card, remark, status, role, group_id, updated_at, created_at') ->from('tbl_admin') ->all(); // return $admin; $adminVal = []; if ($admin) { foreach ($admin as $v) { if ($v['role'] == 1) { $department_id = 1; } else { $department_id = -1; } $v['version'] = Yii::$app->params['last_version']; $adminVal[] = "({$v['id']},{$v['wx_id']},'{$v['authorizer_appid']}','{$v['name']}','{$v['phone']}','{$v['access_token']}','{$v['auth_key']}','{$v['password_hash']}','{$v['avatar']}','{$v['address']}','{$v['serial']}','{$v['identity_card']}','{$v['remark']}',{$v['status']},{$v['role']},{$v['group_id']},{$department_id},{$v['updated_at']},{$v['created_at']},{$v['version']})"; return $adminVal; } } else { print_r('contract no content'."\n\n"); } if ($adminVal) { $adminSql = "INSERT INTO `tbl_admin_v3` (`id`,`wx_id`, `authorizer_appid`, `name`, `phone`, `access_token`, `auth_key`, `password_hash`, `avatar`, `address`, `serial`, `identity_card`, `remark`, `status`, `role`, `group_id`, `department_id`, `updated_at`, `created_at`, `version`) VALUES " . join(',',$adminVal); if(Yii::$app->db->createCommand($adminSql)->execute()) { print_r('execute success'."\n"); } else { print_r('------------------------------------------------'); print_r('execute error'); print_r('------------------------------------------------'. "\n\n\n"); } } Yii::$app->db->close(); print_r($database.' end execution'."\n"); print_r($database . 'Migrate Finish'."\n\n"); }