【问题标题】:Rails and Heroku: How to add records to database?Rails 和 Heroku:如何将记录添加到数据库?
【发布时间】:2016-10-01 13:44:54
【问题描述】:

我是新手。我开发了一个显示图像徽标的新应用程序,我的数据库包含这些图像的 url-

在我的本地开发环境中,我手动将记录添加到数据库中。我的创建表迁移文件如下-

class CreateBooks < ActiveRecord::Migration[5.0]
  def change
    create_table :books do |t|
      t.string :title
      t.string :author
      t.string :category
      t.text :description
      t.text :logo_url
      t.string :pdf_file_url

      t.timestamps
    end
  end

控制器-

def get_all_books
  # @books = Book.find(2);
  @books = Book.where(:id => 1..3)
  logger.debug(@books.inspect)
  render :json => @books
end

我的问题是有没有其他方法可以将记录添加到我的书籍表中?

当我将我的应用程序部署到 heroku 时,如何将这些记录也添加到 heroku?

【问题讨论】:

    标签: mysql ruby-on-rails ruby heroku model-view-controller


    【解决方案1】:

    您可以创建一个迁移文件来将列添加到您的表中,例如,如果您想将书的页数添加为整数,您可以这样做:

    rails generate migration AddPagesToBooks pages:integer
    

    然后运行 ​​rake db:migraterails db:migrate(在 rails 5+ 上)

    要将它们添加到您的 Heroku 应用程序中,您可以使用 heroku run rake db:migrate

    编辑

    如果您想将记录添加到您的数据库中,您可以使用您的 db/seeds.rb 文件

    在那里你可以做这样的事情:

    100.times do |i|
      Book.create!(title: "book ##{i}", author: "Author ##{i}.",
                  category: "category ##{i}", description: "description ##{i}",          
                  logo_url: "/logo/logo##{i}", pdf_file_url: "/pdf/file##{i}")
    

    然后运行rails db:seedrake db:seed

    这将创建 100 条记录,其中 ##{i} 的编号为 1-100。

    您也可以查看this 视频以更好地了解。

    【讨论】:

    • 如何添加记录?我想添加超过 100 条记录。有没有其他办法?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多