我正在使用 telosys 生成一些文件。 当为每个模型生成文件时,我在 templates.cfg 中有以下配置:
道; ${BEANNAME}dao.cfc ; sql; dao.vm; *
效果很好。
我的模型名称有一个小问题,模型文件是使用 nm 命令从数据库生成的,但模型文件名与表名不同。例如:我的表是helpdesk_ticket,模型文件名为helpdeskTicket.entity。
使用模型进行代码生成时,我真正想要的是根据表名称生成文件:
helpdesk_ticket.cfc
但是生成的文件是helpdeskTicket.cfc(这是基于模型文件名)
问题1:从DB生成模型时,模型文件名可以和表名一样吗?
问题2:如果从数据库生成时无法自定义模型文件名,我可以自定义BASENAME以便我可以使用表名作为最终生成的文件名而不是实体名称吗?
问题1:
从数据库创建模型期间无法将原始表名称保留为实体名称。
问题2:
从数据库创建模型时,表名称保留在每个实体中(使用 @DbTable("xxx") 注释)。
因此,您可以使用它来强制模板文件中的“实体名称”,这要归功于“$target.forceEntityName(..)”函数。
示例:
#if ( $entity.hasDatabaseTable() )$target.forceEntityName( $entity.databaseTable )#end