Ich habe eine Rails-Anwendung, die über Postgres läuft.
Ich habe zwei Server: einen zum Testen und einen für die Produktion.
Sehr oft muss ich die Produktionsdatenbank auf dem Testserver klonen.
Der Befehl, den ich über Vlad ausführe, lautet:
rake RAILS_ENV='test_server' db:drop db:create
Das Problem, das ich habe, ist, dass ich den folgenden Fehler erhalte:
ActiveRecord::StatementInvalid: PGError: ERROR: database <database_name> is being accessed by other users DROP DATABASE IF EXISTS <database_name>
Dies passiert, wenn jemand kürzlich über das Web auf die Anwendung zugegriffen hat (postgres hält eine "Sitzung" geöffnet)
Gibt es eine Möglichkeit, die Sitzungen in der Postgres-Datenbank zu beenden?
Danke dir.
Bearbeiten
Ich kann die Datenbank über die Schnittstelle von phppgadmin löschen, aber nicht mit der Rake-Task.
Wie kann ich den Drop von phppgadmin mit einer Rake-Aufgabe replizieren?