【问题标题】:Rails: Copy data for specific tables between databases / environmentsRails:在数据库/环境之间复制特定表的数据
【发布时间】:2014-06-03 00:17:29
【问题描述】:

在我正在进行的一个项目中,我有一些用作查找表的表。它们的结构非常复杂,可能有点长,所以我使用数据库表而不是 YAML。有没有办法在不同环境之间传输这些表连同数据

我在 heroku 中有我的开发和测试环境。因此,任何基于 heroku 的数据传输方式都将受到赞赏。

【问题讨论】:

    标签: ruby-on-rails postgresql heroku rails-migrations


    【解决方案1】:

    您可能会受益于database seeding

    --

    一个相对简单的过程 - 您可以使用 db/seeds.rb 文件预填充您的数据表:

    #db/seeds.rb
    Model.create({option: "value"})
    

    然后您可以使用rake db:seed 填充数据表

    --

    可能不是您正在寻找的确切内容,但肯定是一种选择

    【讨论】:

    • 绝对是一个选择。我不得不说,我之前被一些 Microsoft GUI 工具宠坏了,它们会为我自动执行一些数据库传输脚本。我将把它作为最后的选择。
    • 只是为了确认-您指定的页面中的导出代码是否排除了seeds.rb中已经播种的数据?这就是这条线的作用吗? delete_if {|键,值| ['created_at','updated_at','id'].include?(key)}.to_s.gsub(/[{}]/,'')})
    • 嗯,我不确定那是什么!我认为基本上,如果您尝试从现有数据中导入new 数据,它将删除所有可能阻止填充数据库的属性。主要原因是 ActiveRecord 会自动为您填充idcreated_atupdated_at 属性
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 1970-01-01
    • 2022-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多