Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Szyny:Wyświetl stronę konserwacji, jeśli połączenie z bazą danych nie jest dostępne

Możesz utworzyć widok w dowolnym kontrolerze root_path:

map.root :controller => "foo", :action => "index"

Załóżmy, że nazywasz ten widok „db_maintenance.html.erb”. W kontrolerze wykonaj następujące czynności:

def index
  begin
    @widgets = Widget.find(:all)
  rescue Exception => e
    # This will only happen if DB stuff fails
    redirect_to :action => "db_maintenance", :error => e.message
  end
end

...

def db_maintenance
  @error = params[:error] # You might want to do something with this here or in the view
  # renders the app/views/foo/db_maintenance.html.erb view
end

Twoim zdaniem możesz umieścić coś takiego:

<h1>Sorry for the inconvenience</h1>
blah blah blah. This happened because of:
<pre><code><%= @error %></code></pre>

To oczywiście pomaga tylko wtedy, gdy użytkownik trafi na stronę główną Twojej witryny, ale możesz z niej łatwo ekstrapolować. Możesz dodać akcję "def db_maintenance" do kontrolera aplikacji i ręcznie określić, jaki widok ma również wyświetlać. Nie jest idealny, ale powinien wykonać zadanie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. AWS MySQL RDS kontra AWS DynamoDB

  2. Jak tworzyć fantomowe odczyty?

  3. SQL Najnowsze zdjęcia z kontaktów (pogrupowane według kontaktów)

  4. Nie można zainstalować mysqlclient

  5. Okresy zapytań MySQL i wartość maksymalnego spadku w porównaniu z poprzednią wartością maksymalną