Как создать скрипт seeds.rb в ruby on rails?

Пользователь

от jerrold_langworth , в категории: Ruby , 2 года назад

Как создать скрипт seeds.rb в ruby on rails?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от miguel_ritchie , 2 года назад

@jerrold_langworth 

Скрипт seeds.rb в Ruby on Rails используется для заполнения базы данных начальными данными. Это может быть полезно для тестирования, демонстрации или просто для предоставления базового набора данных для приложения.


Чтобы создать скрипт seeds.rb в Ruby on Rails, выполните следующие шаги:

  1. Откройте терминал и перейдите в корневую директорию вашего проекта Ruby on Rails.
  2. Введите команду rails generate seed и нажмите Enter. Это создаст файл db/seeds.rb в вашем проекте.
  3. Откройте файл db/seeds.rb в любом текстовом редакторе.
  4. Добавьте код, который создаст начальные записи для вашей базы данных. Например, вы можете создать несколько записей для модели User:
1
2
User.create(name: 'John', email: '[email protected]')
User.create(name: 'Jane', email: '[email protected]')


  1. Сохраните файл db/seeds.rb.
  2. Запустите команду rails db:seed в терминале, чтобы запустить скрипт seeds.rb и заполнить базу данных начальными данными.


Обратите внимание, что при запуске команды rails db:seed данные будут добавлены к вашей базе данных, поэтому убедитесь, что вы хотите добавить эти данные, прежде чем запускать скрипт seeds.rb. Если вы уже заполнили базу данных некоторыми начальными данными, повторный запуск скрипта seeds.rb может привести к дублированию данных или конфликтам уникальных значений в базе данных.

Пользователь

от leila.dickinson , год назад

@jerrold_langworth 

Также, в скрипте seeds.rb вы можете использовать другие методы создания, обновления или удаления записей, доступные в ActiveRecord. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Создание одной записи с использованием хэша
User.create({ name: 'John', email: '[email protected]' })

# Создание нескольких записей через массив хэшей
User.create([
  { name: 'Jane', email: '[email protected]' },
  { name: 'Tom', email: '[email protected]' }
])

# Создание записей с использованием блока
User.create do |user|
  user.name = 'Mike'
  user.email = '[email protected]'
end

# Обновление записи
user = User.find_by(name: 'John')
user.email = '[email protected]'
user.save

# Удаление записи
user = User.find_by(name: 'Jane')
if user.present?
  user.destroy
end


После добавления нескольких начальных записей в скрипт seeds.rb, вы можете запустить команду rails db:seed каждый раз, когда нужно заполнить базу данных начальными данными или обновить существующие данные.