Rumah  >  Artikel  >  pembangunan bahagian belakang  >  symfony生成数据库表实体以及迁移数据库的方法讲解

symfony生成数据库表实体以及迁移数据库的方法讲解

巴扎黑
巴扎黑asal
2017-07-23 10:34:542209semak imbas

两天接触发现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
 
 ->痞子鱼

Atas ialah kandungan terperinci symfony生成数据库表实体以及迁移数据库的方法讲解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn