两天接触发现symfony真的蛮牛掰的,之前纠结学laravel还是symfony哪一个好一点,学了laravel一个星期发现文档学习资料太少了,立马转向symfony发现他和laravle功能差不多,所以之前一个星期看的laravle没有白看。但是今天发现一个很好的功能,更java差不多,开心了一阵子,下面来分享一下,怎么像java一样自动轻轻几下,就自动生成了数据库表实体
我用的是symfony3.0,生成数据库实体肯定的连接数据库配置信息,连接配置信息在app/config/parameters.yml文件里面symfony会自动识别什么数据库的,想仔细研究去看文档吧!说道文档我也是醉了,一句话一句话复制到百度翻译里面理解意思。
从数据库表生成实体
1. 由数据库生成模型:
php bin/console doctrine:mapping:convert --from-database yml d:\db\
d:\test_backend>php bin/console doctrine:mapping:convert --from-database yml d:\db\
processing entity "appuser"
processing entity "channel"
processing entity "migrationversions"
exporting "yml" mapping information to "d:\db"
(模型要改第一行路径,不然在实例表结构时会报错如下:)
invalid mapping file 'appbundle.entity.appuser.orm.yml' for class 'appbundle\entity\appuser'.
example:
app_user表生成的模型第一行为:'appuser:';要将此改为 “appbundle\entity\appuser:”
->痞子鱼
2.实例所有表结构
表结构文件复制至:appbundle\resources\config\doctrine
php bin/console doctrine:generate:entities appbundle/entity/ --path src/
实例单个表结构(sitechannel)
php bin/console doctrine:generate:entities appbundle/entity/sitechannel --path src/
d:\test_backend>php bin/console doctrine:generate:entities appbundle/entity/appuser --path src/generating entities for namespace "appbundle\entity\appuser"
> backing up appuser.php to appuser.php~
> generating appbundle\entity\appuser
数据库迁移(symfony本地迁移到数据库):开启数据库迁移:composer require doctrine/doctrine-migrations-bundle ^1.0
实体更新到数据库
resources->entity
(比较)
php bin/console doctrine:migrations:diff
(迁移)
php bin/console doctrine:migrations:migrate
->痞子鱼
以上就是symfony生成数据库表实体以及迁移数据库的方法讲解的详细内容。