【问题标题】:Reverse engineering a table with no primary key using Doctrine使用 Doctrine 对没有主键的表进行逆向工程
【发布时间】:2021-10-18 08:57:18
【问题描述】:

我正在尝试使用 Doctrine 的逆向工程在我的数据库中导入一个现有表,但我正在导入的这个表没有主键。
我知道 Doctrine 不允许导入没有任何主键的表,但我想知道是否有可能这样做。我一直在尝试编辑 Doctrine 的代码以允许它,但目前没有任何结果。
有人知道方法吗?或者,如果不可能,我有什么选择?我无法编辑数据库,因为它不是我的,所以我需要管理它以在不“接触”数据库的情况下导入表。

【问题讨论】:

  • 这是您将经常导入的表吗?导出表然后使用代码手动添加主键,然后将其导入到学说中可能会更容易。
  • @mulquin 这不是需要经常导入的表,只需导入一次。所以你的想法是正确的,对我有用。谢谢!

标签: php doctrine-orm doctrine


【解决方案1】:

所以在尝试了很多之后,我找到了一些可以解决这个问题的方法。我会向所有发现自己处于与我相同情况的人解释它们:

  • 第一种方法@mulquin 说的那个。此方法通过导出表然后使用代码手动添加主键来解决问题。完成后,可以使用 Doctrine 导入它。
  • 第二种方法:由我找到。直接使用代码创建表并手动连接,而不是使用make:entity。您应该在 Entity 和 Repository 中创建这两个文件,然后编写代码以使其与数据库中的表匹配,使用 @ORM\Table@ORM\Column 等,并像 Doctrine 生成它一样编写所有内容。您可以使用 Doctrine 生成的现有实体来确保您没有遗漏任何内容。

【讨论】:

    猜你喜欢
    • 2013-10-07
    • 2010-09-22
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 2017-09-19
    • 2011-02-23
    • 1970-01-01
    相关资源
    最近更新 更多