2014-04-27 1 views
0

기존 데이터베이스로 작업하고 데이터베이스에 사용자가 제공하는 모든 정보가 포함 된 사용자 테이블이 포함 된 경우 ... 일단 fosuserBundle을 설치하면 새 테이블 fos_user 새 데이터로 이전 데이터를 병합하거나 이전 데이터를 새 데이터로 병합 할 수 있습니다. 리버스 엔지니어링을 수행 할 수 있습니까? 그렇다면 어떻게해야합니까? FosUser 번들에 대한 리버스 엔지니어링

+0

무엇을하려하십니까? FosUser와 작동하도록 기존 사용자 테이블을 수정 하시겠습니까? –

+0

예! 내가 그걸 할 수있는 방법 – Marooweb

+0

무엇을 시도 했습니까? FosUserBundle을 설치하고 User 클래스가 FosUSerBundle을 상속 받으면 필요에 따라 User 클래스에 몇 가지 속성 (필드)을 추가 할 수 있습니다. 어쩌면 문제가 이전 데이터를 새 테이블로 옮기는 것입니까? –

답변

0

나는 며칠 동안 할 수있는 비슷한 작업을했습니다. BaseEser가 필요로하지 않는 모든 열을 추가 할 UserEntity로 FOSUserBundle User Entity를 확장하면됩니다. 제공하십시오.

use FOS\UserBundle\Model\User as BaseUser; 

/** 
* user 
* 
* @ORM\Table(name="user") 
* 
*/ 
class User extends BaseUser 
{ 
    //Here you can extend the BaseUser provided from the FOSUserBundle 
    //with the Columns you need 
} 

그 후 당신은이 내가이 datamigration을 수행하는 사용 된 스크립트 새로운 표

INSERT INTO fos_user(`id`, `username`, `username_canonical`, `email`, `email_canonical`, `enabled`, `password`) 
SELECT  `id`, `name`, `name`, `email`, `email`, `active`, `password` 
FROM  old_user_table; 

에 한 테이블을 마이그레이션과 데이터는 SQL 스크립트를 작성해야합니다. 그냥 phpmyadmin에서 실행하십시오.

수동으로 * _canonical 필드를 추가 할 필요가 없습니다. AFAIK, 나는 단지 안전을 위해서입니다.

희망이있었습니다.