Mam hosta w Linode i próbuję uruchomić na nim zadanie Rake, ale dostaję błąd mySQL, który mówi, że nie może się połączyć. Wygląda na to, że myśli, że jest na dev. Zrobiłem niektóre googling i zobaczyłem, że mogę zrobić coś takiego:z uruchomieniem zadania prowizji na "produkcji" i określaniu środowiska?
bundle exec rails c
ładuje środowiska dev i nie mogę uruchomić User.all
dając mi błąd odmowa dostępu.
Jeśli biegnę bundle exec rails c RAILS_ENV=production
pojawia się błąd:
Rails.env=production database is not configured (ActiveRecord::AdapterNotSpecified)
Jednakże, jeśli do niego dostęp za pośrednictwem Internetu, wszystko jest OK. Udało mi się wcześniej uruchomić rake db:seed
, więc wiem, że jest jakiś sposób obejścia tego.
Uzyskiwanie dostępu do serwera mySQL za pomocą poświadczeń produkcyjnych działa dobrze.
Wszelkie pomysły?
RAILS_ENV jest na prowizji, z konsoli szyn po prostu przekazać środowiska jako pierwsza "produkcja konsoli szyn" - nie musisz też używać pakietu exec podczas wywoływania szyn - używaj go do wszystkiego innego (np. rake) – house9
Podobna do odpowiedzi xnm i house9: Spróbuj 'RAILS_ENV = production rake my_task_name'. Nie zmieni to trwale twojego środowiska, tylko dla zadania, więc nie martw się. – mjnissim