При работе над проектом Rails 6 заполнение базы данных становится важным для структурированной инициализации данных. Хотя Rails предоставляет исходный файл по умолчанию, знаете ли вы, что в Rails 6 можно иметь несколько исходных файлов? В этой статье мы рассмотрим возможности нескольких исходных кодов и то, как они могут улучшить рабочий процесс разработки. Так что хватайте свой любимый напиток и вперед!
Почему несколько исходных файлов?
Наличие нескольких исходных файлов дает несколько преимуществ. Это помогает организовать исходные данные в логические группы, обеспечивает лучшее сотрудничество между членами команды и обеспечивает выборочную инициализацию данных. Давайте рассмотрим некоторые методы использования потенциала нескольких начальных чисел в Rails 6:
-
Создание исходных файлов.
Для начала создайте отдельные исходные файлы для разных категорий данных. Например, у вас может быть файлusers.seeds.rbдля данных, связанных с пользователем, и файлproducts.seeds.rbдля данных, связанных с продуктом. Поместите эти файлы в каталогdb/seeds. -
Загрузка исходных файлов:
По умолчанию Rails загружает файлdb/seeds.rbпри запускеrake db:seed. Чтобы загрузить дополнительные исходные файлы, измените файлdb/seeds.rbс помощью методаload. Например, чтобы загрузить файлusers.seeds.rb, добавьте следующую строку вdb/seeds.rb:load(Rails.root.join('db/seeds/users.seeds.rb')) -
Условная начальная загрузка.
Вы можете условно загружать начальные файлы в зависимости от определенных условий или сред. Это может быть полезно, если вы хотите загрузить различные исходные данные для сред разработки, промежуточной или производственной среды. Например, вы можете изменитьdb/seeds.rbследующим образом:load(Rails.root.join('db/seeds/users.seeds.rb')) if Rails.env.development? -
Использование начальных зависимостей.
Иногда определенные исходные данные могут зависеть от присутствия в базе данных других исходных данных. В таких случаях вы можете использовать методrequire_dependency, чтобы обеспечить порядок выполнения. Например:require_dependency Rails.root.join('db/seeds/users.seeds.rb').to_s require_dependency Rails.root.join('db/seeds/products.seeds.rb').to_s -
Упорядочение исходных данных.
Чтобы контролировать порядок загрузки исходных данных, добавьте к именам исходных файлов числа или временные метки. Например,001_users.seeds.rb,002_products.seeds.rbи т. д. Rails загрузит исходные файлы в порядке возрастания. -
Задача рейка для определенных сид-файлов.
Если вам часто требуется загружать определенные сид-файлы, вы можете создать собственную задачу рейка. Определите задачу в своем каталогеlib/tasksи укажите исходные файлы для загрузки с помощью методаload. Например:namespace :db do desc 'Load users and products seed data' task seed_users_and_products: :environment do load(Rails.root.join('db/seeds/users.seeds.rb')) load(Rails.root.join('db/seeds/products.seeds.rb')) end end
Поздравляем! Вы раскрыли потенциал нескольких начальных значений в Rails 6. Организуя начальные данные в отдельные файлы и используя различные методы, которые мы обсуждали, вы можете улучшить рабочий процесс разработки и сделать свою кодовую базу более удобной для сопровождения. Так что вперед, экспериментируйте с несколькими начальными числами и наблюдайте за процветанием вашего приложения Rails!