我正在尝试从现有的 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是这样的(由于代码的隐私,我不能在这里发布真正生成的schema,我是)
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 Fatal error: Allowed memory size of 33554432 bytes exhausted (tryed to allocate 35 bytes) in /usr/share/php/symfony/util/sfClassManipulator.class.php on line 186
最佳答案
通过编辑 php.ini 文件将脚本内存限制的值从 -1 替换为 128 来解决。出于某种原因,symfony 无法正确检测到此参数(-1 表示无限制)
关于mysql - 使用 Propel ORM 从 Symfony 中的现有数据库错误生成模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357118/