1. <small id='mGoDf'></small><noframes id='mGoDf'>

        <i id='mGoDf'><tr id='mGoDf'><dt id='mGoDf'><q id='mGoDf'><span id='mGoDf'><b id='mGoDf'><form id='mGoDf'><ins id='mGoDf'></ins><ul id='mGoDf'></ul><sub id='mGoDf'></sub></form><legend id='mGoDf'></legend><bdo id='mGoDf'><pre id='mGoDf'><center id='mGoDf'></center></pre></bdo></b><th id='mGoDf'></th></span></q></dt></tr></i><div id='mGoDf'><tfoot id='mGoDf'></tfoot><dl id='mGoDf'><fieldset id='mGoDf'></fieldset></dl></div>
          <bdo id='mGoDf'></bdo><ul id='mGoDf'></ul>
      1. <tfoot id='mGoDf'></tfoot>
        <legend id='mGoDf'><style id='mGoDf'><dir id='mGoDf'><q id='mGoDf'></q></dir></style></legend>

        运行 Doctrine 转换映射时跳过表

        时间:2024-08-15
        1. <i id='TQyJD'><tr id='TQyJD'><dt id='TQyJD'><q id='TQyJD'><span id='TQyJD'><b id='TQyJD'><form id='TQyJD'><ins id='TQyJD'></ins><ul id='TQyJD'></ul><sub id='TQyJD'></sub></form><legend id='TQyJD'></legend><bdo id='TQyJD'><pre id='TQyJD'><center id='TQyJD'></center></pre></bdo></b><th id='TQyJD'></th></span></q></dt></tr></i><div id='TQyJD'><tfoot id='TQyJD'></tfoot><dl id='TQyJD'><fieldset id='TQyJD'></fieldset></dl></div>
          <legend id='TQyJD'><style id='TQyJD'><dir id='TQyJD'><q id='TQyJD'></q></dir></style></legend>
          1. <small id='TQyJD'></small><noframes id='TQyJD'>

              <tfoot id='TQyJD'></tfoot>

                <bdo id='TQyJD'></bdo><ul id='TQyJD'></ul>

                    <tbody id='TQyJD'></tbody>

                • 本文介绍了运行 Doctrine 转换映射时跳过表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我第一次坐下来学习教义,并尝试在现有站点/数据库上使用它的一些命令行工具.我从命令行使用映射和实体逆向工程工具,想看看它会从 php/mysql 中的现有网站生成什么样的文件.

                  I'm sitting down with doctrine for the first time and trying to use some of it's command line tools on an existing site/database. I've played with the mapping and entity reverse-engineering tools from the command line and wanted to see what kind of files it would generate from an existing website in php/mysql.

                  但是,它会在任何异常情况下停止.我已经能够为枚举创建一个类型映射,以便暂时将它们扔到一个字符串中,但现在它阻止了我在没有指定主 ID 键的表上.我对在链接表中使用主键或复合键的讲座不感兴趣,我只是想在学习 Doctrine 的同时生成一些输出.

                  However, it stops on any Exceptions. I was already able to create a type mapping for enum to just throw them to a string for now, but now it's stopping me on tables that do not have a primary ID key specified. I'm not interested in a lecture on using primary keys or compound keys in link tables, I'm just trying to generate some output while learning Doctrine at the moment.

                  有没有办法告诉教义跳过抛出异常的表,或者在遇到异常时不停止直通?我现在只想要一些示例输出,不想完全重构复杂的数据库只是为了看看 Doctrine 能做什么.

                  Is there a way to either tell doctrine to skip tables that are throwing exceptions or to barrel through without stopping when it hits them? I just want some sample output at the moment and don't want to entirely re-factor a complex database just to see what Doctrine can do.

                  SW

                  推荐答案

                  再次重温同样的问题.我发现似乎可行的是通过引导文件在 cli 配置中使用过滤:

                  Revisiting this same issue again. What I found that seems to work was using filtering in the cli configuration via the bootstrap file:

                  // bootstrap.php
                  require_once("vendor/autoload.php");
                  
                  use DoctrineORMToolsSetup;
                  use DoctrineORMEntityManager;
                  
                  $site_root = realpath(__DIR__ . "/../");
                  
                  $paths = [ $site_root . "/libraries/Doctrine/Entities" ];
                  $isDevMode = false;
                  
                  // used when building entities from database using command line tool
                  $config = Setup::createAnnotationMetadataConfiguration($paths, $isDevMode);
                  
                  $filter_include = [
                      'some_table_name',
                      'another_table_name',
                      '.*some_sub_portion.*',
                      '^some_table_prefix_.*',
                      '.*some_table_suffix$'
                  ];
                  $include_reg = '/^(' . implode('|', $filter_include) . ').*$/';
                  
                  $filter_exclude = [
                      // tables with no primary key generate exceptions
                      'some_table_name',
                      'another_table_name',
                      '.*some_sub_portion.*',
                      '^some_table_prefix_.*',
                      '.*some_table_suffix$'
                  ];
                  $exclude_reg = '/^(?!(?:' . implode('|', $filter_exclude) . ')$).*$/';
                  
                  // use include list
                  //$config->setFilterSchemaAssetsExpression($include_reg);
                  // use exclude list
                  $config->setFilterSchemaAssetsExpression($exclude_reg);
                  
                  // the connection configuration
                  $dbParams = array(
                      'driver'   => 'pdo_mysql',
                      'user'     => 'myuser',
                      'password' => 'mypassword',
                      'dbname'   => 'mydatabase',
                  );
                  
                  $entityManager = EntityManager::create($dbParams, $config);
                  
                  $platform = $entityManager->getConnection()->getDatabasePlatform();
                  $platform->registerDoctrineTypeMapping('enum', 'string');
                  

                  这篇关于运行 Doctrine 转换映射时跳过表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:Symfony2 DoctrineFixturesBundle 命名空间错误 下一篇:symfony 2.3 中与学说的多重联系

                  相关文章

                    <bdo id='xPbR8'></bdo><ul id='xPbR8'></ul>
                  1. <tfoot id='xPbR8'></tfoot>
                    <i id='xPbR8'><tr id='xPbR8'><dt id='xPbR8'><q id='xPbR8'><span id='xPbR8'><b id='xPbR8'><form id='xPbR8'><ins id='xPbR8'></ins><ul id='xPbR8'></ul><sub id='xPbR8'></sub></form><legend id='xPbR8'></legend><bdo id='xPbR8'><pre id='xPbR8'><center id='xPbR8'></center></pre></bdo></b><th id='xPbR8'></th></span></q></dt></tr></i><div id='xPbR8'><tfoot id='xPbR8'></tfoot><dl id='xPbR8'><fieldset id='xPbR8'></fieldset></dl></div>
                      <legend id='xPbR8'><style id='xPbR8'><dir id='xPbR8'><q id='xPbR8'></q></dir></style></legend>

                      <small id='xPbR8'></small><noframes id='xPbR8'>