FosUser Bundle的逆向工程

时间:2014-04-27 10:43:36

标签: symfony reverse-engineering

如果您使用现有数据库,并且数据库包含一个用户表,其中包含我们用户的所有信息,我们如何制作... 一旦我安装了fosuserBundle,他就会创建一个新表fos_user..how我可以将旧数据与新数据合并,或者将旧数据传输到新数据 有可能做反向,工程,如果是的话怎么样? 谢谢

1 个答案:

答案 0 :(得分:0)

我有一个类似的任务要做几天,你只需要用你的UserEntity扩展FOSUserBundle用户实体,你将要添加你需要BaseUser不需要的所有列提供。

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 
}

之后你只需编写一个SQL脚本,将数据从一个表迁移到新表

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;

这是我用来执行此数据迁移的脚本。只需在phpmyadmin中运行它。

没有必要手动添加* _canon字段AFAIK,我只是为了安全起见。

希望它有所帮助。