Перезаписал ли я свою производственную базу данных с помощью задачи rake, чтобы вставить пример данных, потому что я забыл указать, какую среду?

Я просто унаследовал кодовую базу для клиентского проекта, и я младший разработчик. Я настроил свою среду разработки и хотел заполнить ее примерами данных. Предыдущий разработчик оставил файл в lib/tasks/sample_data.rake. Он говорит:

namespace :db do
  desc "Fill database with sample data"
  task populate: :environment do

а затем образец данных.

Я запустил bundle exec rake db:populate, но не дал ему аргумента окружения. Теперь у меня есть пример данных на моем локальном компьютере:-), но я боюсь, что я мог как-то переопределить производственную базу данных? Развернуто на героку. У нас есть pg gem в gemfile для производства и sqlite3 для dev. Файл database.yml по-прежнему говорит

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

но в журнале сборки heroku написано: Написание config/database.yml для чтения из DATABASE_URL, так что я предполагаю, что он знает, как использовать postgres? Но я не очень понимаю это.

В настоящее время развернутый сайт выглядит нормально, но я боюсь, что если я что-нибудь перенесу в Heroku и сделаю новую сборку, он перезапишет его. Кто-нибудь знает, если я в порядке или мне нужно что-то исправить?

Спасибо вам большое!

1 ответ

Решение

Ты в порядке. Heroku использует автоматически сгенерированный database.yml. Для того чтобы эта задача повлияла на ваше производственное развертывание, вы должны запустить heroku run rake db:populate,

Другие вопросы по тегам