Rails и Heroku: как добавить записи в базу данных?

Я-новые рельсы. Я разработал новое приложение, которое показывает логотипы изображений, и моя база данных содержит 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?

1 ответ

  1. Вы можете создать файл переноса для добавления столбцов в таблицу, например, если вы хотите добавить количество страниц в книгу как целое число, вы можете сделать это:

    rails generate migration AddPagesToBooks pages:integer
    

    а затем запустить rake db:migrateили rails db:migrate(по рельсам 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:seedили rake db:seed

    Это создаст 100 записей книги с ##{i}номерами 1-100.

    Вы также можете проверить это видео, чтобы получить лучшее понимание.