2011-05-09 6 views
1

먼저 훌륭한 서비스를 위해 StackOverflow로 보내야 할 모자와 우리 질문에 대답하기 위해 시간을내어 주신 여러분 께.기존 교리 모델에 새 열 추가하기

나는 CodeIgniter 1.7.3에서 Doctrine ORM 1.2.4를 사용하고 있습니다. 필자는 몇 가지 필수 테이블이있는 사이트를 만들었고 나중에 특정 테이블에 하나 더 많은 열이 있어야한다는 것을 깨닫기 위해 데이터로 펌핑되었습니다.

내가 테이블을 만든 방법은 Doctrine_Record를 확장하는 PHP 클래스로 모델을 작성하는 것이 었습니다.

이제 setTableDefinition() 메서드에서 새 열을 필요로하는 모델에 열을 추가하고 해당 테이블을 다시 작성해야하는지 아니면 쉽게이 작업을 수행하는 다른 방법이 있는지 궁금합니다. 앞에서 언급 한 방법은 현재 테이블을 데이터와 함께 삭제하고 필요하지 않은 테이블을 다시 만들어야합니다. 교리는 구조가 잘 짜여진 데이터베이스 프레임 워크로 보이기 때문에 지식이 부족하다고 생각하지만 새로운 열을 쉽게 추가 할 수있는 방법이 있어야합니다.

추신 : 다른 테이블과의 관계가있는 열을 변경하려고하는 것이 아니라 다른 테이블과 관련이없는 새로운 열을 추가하는 것입니다. 또한 Doctrine :: createTablesFromModels();를 사용하여 데이터베이스에 테이블을 생성합니다. 새 열이있는 테이블을 변경하고이 메서드를 실행하면 오류가 표시됩니다.

답변

0

&을 다시 작성하지 않으려면 Doctrine Migration을 사용하십시오.

// migrations/2_add_column.php 

class AddColumn extends Doctrine_Migration_Base 
{ 
    public function up() 
    { 
     $this->addColumn('migration_test', 'field2', 'string'); 
    } 

    public function down() 
    { 
     $this->removeColumn('migration_test', 'field2'); 
    } 
} 
: 당신은 그냥 필드를 추가 할 수 있기 때문에, 다음과 같이되는 가장 관련성을 것으로 자신의 두 번째 코드 예제를 살펴

http://www.doctrine-project.org/projects/orm/1.2/docs/manual/migrations/en

:

여기에 공식 문서

많은 예를 보여
관련 문제