Постоянная база данных в рубине на рельсах

Обновить

November 2018

Просмотры

107 раз

4

Это скорее логический вопрос, чем все остальное.

Я хочу, чтобы создать базу данных (модель) в Ruby On Rails, который содержит информацию о том, что я не хочу быть удален, когда я сбросить базу данных. Я также хочу, информация, хранящаяся в этой базе данных, чтобы автоматически быть прижата к производству, когда я нажимаю мой проект.

Я гугл, но ничего не нашел актуальное и я чувствую, что я что-то очевидное отсутствую. Как бы я это сделать?

Заранее спасибо за помощь!

2 ответы

4

Вы можете посеять свою базу данных с данными. Использование дб / seeds.rb плюс грабли БД: семена

Согласно официальной документации

Rails has a 'seeds' feature that should be used for seeding a database with initial data. It's a really simple feature: just fill up db/seeds.rb with some Ruby code, and run rake db:seed:
5.times do |i|
  Product.create(name: "Product ##{i}", description: "A product.")
end

This is generally a much cleaner way to set up the database of a blank application.

Взятые из http://edgeguides.rubyonrails.org/migrations.html#migrations-and-seed-data

Таким образом, это позволит вам воссоздать ваши данные автоматически как часть миграции при переходе на производство плюс он будет также заполнить тестовые базы данных для вас, а также получить базу данных развития в необходимое состояние.

Очевидно seeds.rb только рубин файл. Вы можете поместить любой Ruby-код, который вы любите в нем. Например код для заполнения таблицы из электронной таблицы или XML-документа.

2

rails_config

В дополнении к seedsидее препровождено jamesw, вы можете пожелать использовать статическое хранилище данных ( как правило , в ymlформате), для хранения данных в качестве констант.

Это наиболее открыто отображается с новой secrets.ymlособенностью Rails 4.1, и есть больше драгоценных камней , которые помогают с этим тоже. Как правило rails-config:

#app/settings.yml
option:
  setting: "value"
  setting2: "value"

Это позволяет создать ряд данных (мы используем его для наших деталей компании - адрес и т.д.), которые могут быть доступны Settings.option.setting:

введите описание изображения здесь