mysql之将一些对象从一个数据库迁移到另一个数据库
mate10pro
阅读:1113
2023-08-24 23:31:47
评论:0
我如何从一个数据库(开发、sqlite)中转储一个用户及其所有关联(评论、帖子等)以将其插入另一个数据库(生产、mysql)。
我应该将它转储到 yaml 还是转储到 sql 或其他什么?
请您参考如下方法:
好的。
上帝保佑 YAML
我使用 YAML 从开发中转储到文件中并将其加载到我的生产中。由于它是 auto_increament,因此已更改 ID 的 hack。
发展
user = User.find X
posts = user.posts
comments = user.comments
...
File.open("user.yml", "w") { |f| f << YAML::dump(user) }
File.open("comments.yml", "w"){ |f| f << YAML::dump(comments) }
File.open("posts.yml", "w") { |f| f << YAML::dump(posts) }
...
制作
user = YAML::load_file("user.yml")
posts = YAML::load_file("posts.yml")
comments = YAML::load_file("comments.yml")
new_user = user.clone.save # we should clone our object, because it isn't exist
posts.each do |p|
post = p.clone
post.user = new_user
post.save
end
...
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。