我正在使用 Symfony2 开发我的网站的新版本。我在以前的版本上使用了 mysql,现在我使用了 Doctrine2/Mysql。我想将我的用户表导入到新版本中。我认为最好的方法是使用 Symfony2 提供的命令工具。
但是,我不知道如何浏览我的旧 mysql 数据库(或 mysql 转储)以执行 php 脚本来填充我的新数据库。
有任何想法吗 ?
我正在使用 Symfony2 开发我的网站的新版本。我在以前的版本上使用了 mysql,现在我使用了 Doctrine2/Mysql。我想将我的用户表导入到新版本中。我认为最好的方法是使用 Symfony2 提供的命令工具。
但是,我不知道如何浏览我的旧 mysql 数据库(或 mysql 转储)以执行 php 脚本来填充我的新数据库。
有任何想法吗 ?
你不需要有一个新的数据库,你可以继续使用实际的。但是如果你想复制它,你可以使用mysqladmin命令工具。
然后,您可以从数据库中生成实体。
我做到了 !
我不知道这是否是最好的解决方案,但它有效。
1)在我的新数据库中导入旧表
2)让Doctrine自省数据库并生成相应的元数据文件。
php app/console doctrine:mapping:convert xml ./src/Acme/BlogBundle/Resources/config/doctrine/metadata/orm --from-database --force
3) 执行以下命令,让Doctrine导入schema并构建相关实体类
php app/console doctrine:mapping:import AcmeBlogBundle annotation
现在,我可以在我的旧数据库上使用这个 EntityManager 来执行我想要的所有脚本。
你可以在这里找到更多信息:http: //symfony.com/doc/current/cookbook/doctrine/reverse_engineering.html