【问题标题】:Generating model from existing database error in Symfony using Propel ORM使用 Propel ORM 从 Symfony 中的现有数据库错误生成模型
【发布时间】:2011-06-15 11:39:12
【问题描述】:

我正在尝试从已经存在的 mysql 数据库生成 symfony 项目的数据模型。我正在使用 Propel ORM 使用此命令将该数据库映射到 config/schema.yml 文件

php symfony propel:build-schema

它可以正常工作。 mySQL 数据库中的所有表在 config/schema.yml 文件中都有自己的描述。当我尝试使用命令生成模型类时遇到的问题

php symfony propel:build-model

当shcema大约有40个表时,这个命令的执行只生成5组类(BaseName、Name、NamePeer ...)。

我该如何解决这个问题?也许有一个配置文件,其中包含从模式生成的最大类或类似的东西。

谢谢你:D

编辑:

从数据库自动生成的schema.yml是这样的(因为代码的隐私,我不能在这里发布真正生成的模式,我是)

propel:
 _attributes:
   package: lib.model
   defaultIdMethod: native
table1:
 _attributes: { phpName: Table1 }
   TABLE_ID: { phpName: TableCod, type: INTEGER, size: '8', required: true, foreignTable: table1, foreignReference: TABLE_ID, onDelete: RESTRICT, onUpdate: RESTRICT }
   FOREIGN_KEY: { phpName: ForeignKey, type: INTEGER, size: '8', required: true, foreignTable: other_table, foreignReference: OTHER_TABLE_ID, onDelete: RESTRICT, onUpdate: RESTRICT }
   NORMAL_ATRIBUTE: { phpName: NormalAtribute, type: LONGVARCHAR, required: false }
 _indexes: { TABLE_ID: [TABLE_ID], FOREIGN_KEY: [OTHER_TABLE_ID] }
table2:

...

编辑2:

我发现了错误,我没看到>_

PHP 致命错误:允许的内存大小 33554432 字节用尽(试图 分配 35 个字节)在 /usr/share/php/symfony/util/sfClassManipulator.class.php 在第 186 行

【问题讨论】:

  • 如果您可以在答案中添加生成的架构会很有帮助

标签: mysql model symfony-1.4 propel


【解决方案1】:

通过编辑 php.ini 文件将脚本内存限制的值从 -1 替换为 128 解决。由于某种原因,symfony 没有正确检测到此参数(-1 表示无限制)

【讨论】:

    猜你喜欢
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2011-02-02
    • 1970-01-01
    相关资源
    最近更新 更多