Перезаписал ли я свою производственную базу данных с помощью задачи 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
,