我有一个处于不同开发阶段(实时、测试、开发)的应用程序
当测试人员报告测试数据库的问题时,他们将指定一个仅在测试数据库上的用户 ID,这使得在开发中重现问题变得非常困难(在某些情况下)
我希望能够提取与表中特定 id 相关的所有内容(包括由外键链接的其他表中的对象),并能够将该数据导入开发数据库。
怎么可能呢?
- 我可以深度复制所有链接关系吗?
- 我可以导出该对象然后导入它吗
- 我可以从该迁移脚本访问两个数据库吗?
我有一个处于不同开发阶段(实时、测试、开发)的应用程序
当测试人员报告测试数据库的问题时,他们将指定一个仅在测试数据库上的用户 ID,这使得在开发中重现问题变得非常困难(在某些情况下)
我希望能够提取与表中特定 id 相关的所有内容(包括由外键链接的其他表中的对象),并能够将该数据导入开发数据库。
怎么可能呢?
你想要达到的目标并不是一件微不足道的事情。
如果要提取有关用户的所有信息,则必须编写一个脚本来访问他的所有信息和相关信息,或者直接从数据库表中提取信息。
如果您更喜欢第一种选择,则必须仔细查看关系并使用 ActiveRecord 提取所有关系。
也许使用“attributes”方法对你有用,如果你有一个用户模型和一个@user实例,你可以这样做:
user_attributes = @user.attributes
并在哈希中提取他的属性,稍后您可以执行以下操作:
User.create(user_attributes)
创建具有相同属性的用户,但您将遇到受保护的属性或关系的问题。
也许您尝试遵循的策略并不是解决问题的最佳方法。
您无法使用 ssh 访问测试环境?这样您就可以检查数据库并按原样查看问题。