首页 > 数据库技术 > 详细

How to generate entities from database schema using doctrine-orm-module

时间:2019-08-29 01:17:36      阅读:102      评论:0      收藏:0      [点我收藏+]

1、安装好doctrine,在composer.json中添加如下

    "require": {
        "php": "^5.6 || ^7.0",
        "doctrine/doctrine-orm-module": "*",
    },

执行composer install

2、在yourAPP/config/modules.config.php添加doctrine module

return [
    Zend\ServiceManager\Di,
    Zend\Session,
    Zend\Mvc\Plugin\Prg,
    Zend\Mvc\Plugin\Identity,
    Zend\Mvc\Plugin\FlashMessenger,
    Zend\Mvc\Plugin\FilePrg,
    Zend\Mvc\I18n,
    Zend\Mvc\Console,
    Zend\Log,
    Zend\Form,
    Zend\Db,
    Zend\Cache,
    Zend\Router,
    Zend\Validator,
    ZendDeveloperTools,
    Application,
    DoctrineModule,
    DoctrineORMModule,
];

3、在yourAPP/config/autoload/local.php添加如下

<?php
/**
 * Local Configuration Override
 *
 * This configuration override file is for overriding environment-specific and
 * security-sensitive configuration information. Copy this file without the
 * .dist extension at the end and populate values as needed.
 *
 * @NOTE: This file is ignored from Git by default with the .gitignore included
 * in ZendSkeletonApplication. This is a good practice, as it prevents sensitive
 * credentials from accidentally being committed into version control.
 */
use Doctrine\DBAL\Driver\PDOMySql\Driver as PDOMySqlDriver;
return [
    doctrine => [
        connection => [
            orm_default => [
                driverClass => PDOMySqlDriver::class,
                params => [
                    host     => 10.11.1.2,
                    port     => 3306,
                    user     => xxx,
                    password => xxx,
                    dbname   => user_shanmaohuwai,
                ]
            ],            
        ],        
    ],
];

4、使用doctrine命令生成entity(https://www.e-learn.cn/content/wangluowenzhang/609311)

 

问题:

I am using "doctrine/doctrine-orm-module": "0.7.0" with ZF2.

Once I create Entities I usually run following commands to sync and generate database automatically according to my entities.

./vendor/bin/doctrine-module orm:validate-schema
./vendor/bin/doctrine-module orm:schema-tool:create

Is there a way to make this process reverse? I mean, Can I generate entities from existing database in mysql?

回答1:

We use a batch script:

@ECHO OFF

mkdir EXPORT
call .\vendor\bin\doctrine-module orm:convert-mapping --force --from-database annotation ./EXPORT/
call .\vendor\bin\doctrine-module orm:generate-entities ./EXPORT/ --generate-annotations=true

pause 

orm:convert-mapping and orm:generate-entities is probably what you are looking for.



回答2:

There‘s a nice blog written on this here

Edit: It can be done by using the commands below:
1. convert-mapping (Table & Entity):

./vendor/doctrine/doctrine-module/bin/doctrine-module orm:convert-mapping --namespace="Album\\Entity\\" --force  --from-database annotation ./module/Album/src/

2. Generates getter and setter

./vendor/doctrine/doctrine-module/bin/doctrine-module orm:generate-entities ./module/Album/src/ --generate-annotations=true

 

回答3:

Try just it

doctrine orm:convert-mapping -f --from-database annotation entities/

doctrine orm:generate-entities --generate-annotations="true" entities/

http://wildlyinaccurate.com/useful-doctrine-2-console-commands/

 

How to generate entities from database schema using doctrine-orm-module

原文:https://www.cnblogs.com/yipianchuyun/p/11427312.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!