使用Propel ORM从Symfony中的现有数据库错误生成模型

时间:2011-06-15 11:39:13

标签: mysql model symfony-1.4 propel

我正在尝试从已存在的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:

...

EDIT2:

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

  

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

1 个答案:

答案 0 :(得分:2)

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