1

我正在尝试在我的 Symfony 1.4 项目中使用sfDoctrineGuardPlugin 。该插件包含一个 schema.yml 文件,用于定义所有涉及的表。表名采用以下形式:sf_guard_user、sf_guard_user_group、sf_guard_user_permission 等。我宁愿将这些表命名为:users、user_groups、user_permissions 等。有没有办法让我在不直接编辑插件代码的情况下做到这一点?

4

2 回答 2

5

覆盖项目架构文件中的这些内容:

sfGuardGroup:
  tableName: groups

sfGuardPermission:
  tableName: permissions

sfGuardGroupPermission:
  tableName: groups_permissions

另外,我更愿意将它们移动到单独的文件中,比如sfDoctinePlugin-schema.yml.

希望有帮助。

于 2011-01-20T03:51:58.197 回答
1

那不是一个好习惯,我会劝阻你不要这样做。

话虽如此(加粗,哈哈),您应该能够将包含的架构复制到您的项目级架构中,并将tableName密钥添加到每个记录定义中。我知道以这种方式修改架构通常是有效的,因为我会定期添加额外的列,sfGuardUser而不是使用完整的配置文件类......我认为修改表名也可以。

那应该在构建数据库之后你应该看到你的表名。问题是,如果在实际插件代码中存在有人硬编码表名而不是使用模型中定义的别名的情况,则可能无法正常工作。我不知道有没有这样的情况,但你应该在继续项目之前彻底测试。

于 2011-01-20T01:28:17.483 回答