W database.yml definiujesz wszystkie ustawienia. Jak mogę uzyskać dostęp do tych ustawień z ruby? Sprawdziłem w App::Application::config
, ale nie mogę go tam znaleźć. Ponadto, pamiętam, ludzie byli w stanie skonfigurować ustawienia bazy danych bez yaml, czy ktoś wie jak?jak sprawdzić nazwę bazy danych, która jest używana przez ActiveRecord
Odpowiedz
Rails.configuration.database_configuration
Otrzymasz tabelę skrótów z konfiguracjami dla każdego środowiska. Na przykład. aby uzyskać dostęp do bazy danych: imię rozwoju
Rails.configuration.database_configuration["development"]["database"]
Aby barana na uwag tsherif, można uruchomić polecenia Rails.configuration wewnątrz konsoli szyny (C), aby uzyskać nazwy bazy danych.
Następnie, aby rzeczywiście uruchomić reset, należy użyć heroku pg: zresetować DATABASE_URL, a następnie postępować zgodnie z monitem. – tommyb67
W Rails 4.2, można to zrobić:
ActiveRecord::Base.connection.current_database
Jest to również lepsza odpowiedź, ponieważ proste "ActiveRecord :: Base.connection.execute (" USE bleh ") sprawiłoby, że czytanie z konfiguracji bazy danych nie miałoby sensu. – Gerry
Aby uzyskać aktualną konfigurację bazy danych: 'Rails.configuration.database_configuration [Rails.env]' –
Kiedy spróbować komendy wprowadzania otrzymuję ten błąd: "Rails.configuration.database_configuration [development] [database]: command not found" - jakikolwiek pomysł dlaczego? – VoA
Jeśli ktoś doda w dowolnym miejscu w bazie kodu, database_configuration nie da ci używanej bazy danych: 'ActiveRecord :: Base.connection.execute (" USE bleh ")' To będzie: 'ActiveRecord :: Base. connection.current_database' – Gerry