【问题标题】:How to export primary keys on data-dump?如何在数据转储上导出主键?
【发布时间】:2010-05-10 08:13:06
【问题描述】:

当我使用教义:data-dump 导出我的数据库时,我遇到了 2 个问题: * 主键不导出 * 代替外键列的正确名称,它使用外部表的名称。

例如,这是我的表格:

# schema.yml
Planet:
  connection: doctrine
  tableName: planet
  columns:
    planet_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      sequence: planet_planet_id
    solarsystem_id:
      type: integer(4)
      fixed: false
      unsigned: false
      notnull: false
      primary: false
  # some columns...
  relations:
    Solarsystem:
      local: solarsystem_id
      foreign: solarsystem_id
      type: one
  # other relations...

Solarsystem:
  connection: doctrine
  tableName: solarsystem
  columns:
    solarsystem_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      sequence: solarsystem_solarsystem_id
    # other columns...
  relations:
    Planet:
      local: solarsystem_id
      foreign: solarsystem_id
      type: many
    # other relations

当我转储时,我会在 data.yml 中找到类似的内容:

Planet_1:
  Solarsystem: _1

当我加载数据时,它不起作用(指定的行键无效:(solarsystem)_1,在(planet)Planet_1 中引用)。我必须像这样手动修复:

Planet_1:
  solarsystem_id: 1
  planet_id: 1

目前,我正在手动修复 data.yml,但是我积累的所有记录开始变得很痛苦......

注意:我使用的是 Symfony 1.4、Doctrine、postgreSQL、NetBeans、Windows。随意询问您认为有用的信息。

感谢您的帮助

【问题讨论】:

    标签: symfony1 foreign-keys doctrine primary-key data-dump


    【解决方案1】:

    我建议查看这篇题为“从不信任原则:数据转储”的文章:http://www.thomaskeller.biz/blog/2010/01/29/never-trust-doctrinedata-dump/

    考虑到这一点,您可能更喜欢检查 pg_dump: http://www.postgresql.org/docs/8.1/static/backup.html#BACKUP-DUMP

    这个转储是 postgreSQL 级别的,因此不太可能关心 - 或偶然发现 - 您的 Doctrine 架构。

    【讨论】:

      猜你喜欢
      • 2011-04-26
      • 1970-01-01
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 1970-01-01
      相关资源
      最近更新 更多