2017-12-04 20 views
0

실제로 저는 애플리케이션을 만들고 누군가 저를 말하십시오. 어떻게 MySQL과 다른 오라클 서버와 연결을 설정할 수 있습니다. 및 업데이 트하는 방법 내 MySQL을 업데이 트하는 경우 그래서 자동으로 내 오라클 ERP 시스템을 업데이 트하십시오.연결 방법 다른 데이터베이스에서 Oracle 데이터베이스와 Oracle 데이터베이스를 구축하는 방법

+0

https://stackoverflow.com/questions/27254540/multiple-database-connections-and-yii-2-0 : 그리고 MySQL의 모델에서 afterSave 이벤트 헨들러를 정의 –

답변

1

@Paritosh Mahale가 주석했다는 링크를 따라

/yiic migrate     # The default component db 
/yiic migrate --db=db1  # Connection db component mysql 
/yiic migrate --db=db2  # Connection oracle component db 

을 : 당신은이 방법으로 마이그레이션을 사용할 수있는 데이터베이스의 필드를 업데이트하는 부분에 관하여

Multiple database connections and Yii 2.0

을 서로 다른 옵션 --db을 사용하여 두 데이터베이스에서 동일한 이주 명령을 실행해야합니다.

또는 당신은 yii\db\Migrationinit() 방법을 재정의 할 수

<?php 

use yii\db\Migration; 

class m150101_185401_create_news_table extends Migration 
{ 
    public function init() 
    { 
     $this->db = 'db2'; 
     parent::init(); 
    } 
} 

과 같이 사용 : /yiic migrate 이 마이그레이션이 DB2에 적용됩니다. 동일한 데이터베이스를 사용하는 여러 마이그레이션이있는 경우 위의 init() 코드로 기본 마이그레이션 클래스를 만드는 것이 좋습니다. 그런 다음 각 이주 클래스는이 기본 클래스에서 확장 될 수 있습니다.

당신이 이렇게 할 수있는 각 데이터베이스 연결에 대한 마이그레이션의 분리 된 경로를 원한다면 :

yii migrate [email protected]/migrations/db1 --db=db1 
yii migrate [email protected]/migrations/db2 --db=db2 
... 

를 들어 당신은 (그냥 생각) 확장 할 수있는 하나의 명령에 각 데이터베이스에서 "자동"마이그레이션을 적용 yii\console\controllers\MigrateController 클래스에 추가하고 public $dbs 속성을 추가하십시오.

/yiic migrate --dbs=db1,db2 

을하고 그래서 당신은 each $ DBS에 대한 마이그레이션을 실행하기 위해 해당 매개 변수를 관리 할 수 ​​있습니다 : 당신이 options()에 해당 속성을 추가 할 수 있습니다 후에는 마이그레이션 명령을 호출 할 때 그래서 당신은이 같은 PARAM를 전달할 수 있습니다

[편집] 대답의

일부 부품은 여기에서 찍은 : Migrating Multiple Databases

0

사용 Paritosh Mahale 링크. 오라클 연결을 반환하는 getDb() 및 mysql 연결을 반환하는 getDb()가있는 MySql 모델이있는 OracleModel이 있다고 가정합니다.

public function afterSave() 
{ 
    $oracleModel = OracleModel::findOne(/* condition */); 
    $oracleModel->someField = 123; 
    $oracleModel->save(); 
}