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 
... 


标签:mysql
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

全民解析

全民解析

关注我们