使用 Rails + Postgresql + Heroku 构建数据库

Posted

技术标签:

【中文标题】使用 Rails + Postgresql + Heroku 构建数据库【英文标题】:Building a database with Rails + Postgresql + Heroku 【发布时间】:2013-06-08 23:07:07 【问题描述】:

我正在构建一个网络应用程序,用户需要在其中从练习数据库中进行选择。他们应该能够看到练习名称、描述和技能水平。为此目的构建数据库表的最佳做法是什么?

我想我可以在 CSV 文件中编写每个练习及其属性,然后编写一个 ruby​​ 脚本来解析它并在数据库表中为它解析的每个练习创建一个练习对象。但是,我以前从未这样做过,希望得到反馈。

我将如何在 Heroku 上将此数据库表从开发迁移到生产?

非常感谢您提供任何信息。

【问题讨论】:

如果您正在处理文件,那么 yaml 将是比 csv 更好的选择。虽然你是把它们直接放在数据库中,但你为什么需要一个文件,看看 rake db seed 【参考方案1】:

听起来像是一个带有名称、描述、技能水平和存储实际锻炼内容的锻炼模型。由您决定是否要使用 csv 或 yaml 读取它 - 我同意 yaml 会更容易。还有如何存储用户的响应——hstore、json、序列化yaml...

【讨论】:

【参考方案2】:

我最终创建了一个哈希数组并在 seed.rb 中遍历该数组:

[
     
        :name         => "",
        :description  => "",
        :skill_level  => ""
    ,
# Input more hashes below

].each do |exercise|
  ExerciseDb.create(
    name: exercise[:name]
    description: exercise[:description]
    skill_level: exercise[:skill_level]
  )
end

【讨论】:

以上是关于使用 Rails + Postgresql + Heroku 构建数据库的主要内容,如果未能解决你的问题,请参考以下文章

Rails 在应用程序 ubuntu 中与 Postgresql 数据库连接

在 Postgresql 中使用 UUID 的 Rails 5.2 活动存储

ruby 使用PostgreSQL创建Rails应用程序

使用 Rails + Postgresql + Heroku 构建数据库

Rails 3.2 中的 PostgreSQL DATALINK 类型

将远程 Postgresql 与 AWS for Rails 应用程序一起使用