Pertanyaan Tidak ada file seperti 'config / database.yml' di Heroku


Aplikasi saya adalah aplikasi rak Ruby. Ketika aplikasi Heroku saya mulai rusak karena

/app/config.ru:8:in `baca ': Tidak ada file atau direktori seperti itu - config / database.yml (Errno :: ENOENT)

Mengapa ini terjadi? Saya mengerti Heroku dimaksudkan untuk membuat file ini https://devcenter.heroku.com/articles/cedar-migration

Kredensial database akan tetap dikonfigurasi secara otomatis: pada waktu kompilasi slug, sebuah config / database.yml yang mem-parse DATABASE_URL dari lingkungan akan ditulis ke dalam aplikasi.

Mematahkan dokumen di https://devcenter.heroku.com/articles/ruby tidak menjelaskan tentang database.yml 


4
2017-10-14 18:55


asal


Jawaban:


Ok, hal pertama - heroku tidak menggunakan file database.yml. Secara default aplikasi rel memuatnya dari config / direktori secara otomatis. Dan tidak perlu memuatnya secara manual di config.ru. Jika Anda ingin menggunakan di Heroku PosgreSQL - cukup tambahkan add-on. Heroku akan melakukan semua hal lain untuk menghubungkan aplikasi Anda dan db. Jika Anda ingin menggunakan server MySQL eksternal Anda harus menggunakan Amazon RDS add-on

heroku addons:add amazon_rds url=mysql2://user:pass@dbhost/dbname

Dengan ini Anda bisa menggunakan db apa saja. Saya menggunakan basis GoDaddy mysql melalui add-on Amazon RDS.

Bagaimanapun, masalah di config.ru Anda 8 baris sesuatu seperti

read 'config/database.yml'

Hapus dan cari cara lain yang tidak bertentangan dengan heroku

Semoga berhasil


2
2017-10-14 19:33



Tampaknya Heroku hanya menciptakannya config/database.yml jika Anda memiliki folder config di bawah kendali sumber. Tidak dijelaskan dalam dokumen.


1
2017-10-14 20:32