2

我有一个处于不同开发阶段(实时、测试、开发)的应用程序

当测试人员报告测试数据库的问题时,他们将指定一个仅在测试数据库上的用户 ID,这使得在开发中重现问题变得非常困难(在某些情况下)

我希望能够提取与表中特定 id 相关的所有内容(包括由外键链接的其他表中的对象),并能够将该数据导入开发数据库。

怎么可能呢?

  • 我可以深度复制所有链接关系吗?
  • 我可以导出该对象然后导入它吗
  • 我可以从该迁移脚本访问两个数据库吗?
4

1 回答 1

0

你想要达到的目标并不是一件微不足道的事情。

如果要提取有关用户的所有信息,则必须编写一个脚本来访问他的所有信息和相关信息,或者直接从数据库表中提取信息。

如果您更喜欢第一种选择,则必须仔细查看关系并使用 ActiveRecord 提取所有关系。

也许使用“attributes”方法对你有用,如果你有一个用户模型和一个@user实例,你可以这样做:

user_attributes = @user.attributes

并在哈希中提取他的属性,稍后您可以执行以下操作:

User.create(user_attributes)

创建具有相同属性的用户,但您将遇到受保护的属性或关系的问题。

也许您尝试遵循的策略并不是解决问题的最佳方法。

您无法使用 ssh 访问测试环境?这样您就可以检查数据库并按原样查看问题。

于 2012-07-17T08:57:29.193 回答