yii2数据库表与表之间的迁移

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");

    }

猜你喜欢

转载自blog.csdn.net/qq_33876293/article/details/83036658