Ist es möglich, die SQL-Änderungsskripte auszugeben, die 'rake db: migrate' erzeugt?Ist es möglich, die SQL-Änderungsskripte auszugeben, die 'rake db: migrate' erzeugt?
Antwort
Sie können eine Rake Aufgabe in lib/tasks/
erstellen:
namespace :db do
desc 'Make migration with output'
task(:migrate_with_sql => :environment) do
ActiveRecord::Base.logger = Logger.new(STDOUT)
Rake::Task['db:migrate'].invoke
end
end
Dann rake db:migrate_with_sql
rufen Sie die Migration zu protokollieren.
'ActiveRecord :: Base.logger = Logger.new (STDOUT)' ist die Magie, eine bestimmte Migration zum Laufen zu bekommen, beinhaltet nur das Setzen des Loggers vorher :) –
Aufbauend auf @qarol aber noch viel cooler, fügen Sie diesen Rake Aufgabe an einen Ihrer Rake-Dateien:
task :log => :environment do
ActiveRecord::Base.logger = Logger.new(STDOUT)
end
Dazu ANY Rake Aufgabe aufrufen können und die Ausgabe protokolliert:
rake log db:migrate
Sie können dies verwenden: ActionMailer :: Base .logger = ActiveRecord :: Base.logger = Logger.new (STDOUT) um die Mailerausgabe zu erhalten. – Josh
Das hat gut funktioniert und ist viel generischer. Es sollte die akzeptierte Antwort sein. –
Einverstanden, das ist ein fantastischer Tipp. – bonh
Die SQL-Ausgabe wird z. B. in Ihrer Umgebungsprotokolldatei erfasst development.log
- 1. Rake db: migrate funktioniert nicht
- 2. rake db: migrate RAILS_ENV = Entwicklung
- 3. Rake db: migrate erkennt keine neue Migration?
- 4. Bundle exec rake db: migrate nicht funktioniert (und auch nicht rake db: migrate), Ubuntu
- 5. Verbindungsfehler für sqlserver rake db: migrate
- 6. rake db: migrate ‚unerwartete \ n‘ Fehler geben
- 7. Ruby on Rails rake db: migrate Fehler
- 8. Heroku laufen rake db: migrate Fehler Rake Befehl nicht gefunden
- 9. Schienen 4 - Rake Befehl zeigt deprecation Warnung jedes Mal laufe ich die rake db: migrate Befehl
- 10. Soll ich bin/rake db: migrate oder bin/rails db: migrate?
- 11. Rake db: migrate schlägt bei Verwendung von devise_for für Modelle fehl, die Klassenmethoden verwenden, die die db treffen
- 12. Warum ist Rake db: migrate: reset nicht in Rake-T aufgeführt?
- 13. heroku db: migrate abgebrochen
- 14. NameError: nicht initialisierte Konstante Model - Rake db: migrate
- 15. Modellbereiche brechen Rake db: migrate - rails 3.2.3 postgres 9.1.3
- 16. Warum soll ich 'rake db: migrate RAILS_ENV = test' ausführen?
- 17. Rake möglich db: Schema: Laden, ohne die Datenbank zu löschen
- 18. Rechen: db Migrate nichts zurückgibt
- 19. Heroku rake migrate db Fehler Beziehung „post“ existiert nicht
- 20. Ruby db Migrate - unbekannter Fehler
- 21. Fehler nach Rake db: migrate Befehl: Rake abgebrochen! NoMethodError: nicht definierte Methode `akzeptieren‘ für nil: NilClass
- 22. Ist es möglich, die Smarty-Vorlage in HTML zu konvertieren, ohne sie auf die Seite auszugeben?
- 23. Rake db: Schema: Dump erzeugt kein Schema für alle Datenbanken
- 24. Rake db: Migration fehlgeschlagen
- 25. rails db: migrieren vs rake db: migrieren
- 26. ist es möglich, räumliche Gremlin Abfragen gegen Orientdb auszugeben?
- 27. db: migrate hat keinen Effekt
- 28. Ist es möglich, für DB/TBL
- 29. Rails Datenbank klagen nicht auf die Produktion gibt es nur (mit db: migrate gelang)
- 30. Rake db: create vs Rake db: create: alle
Sie sollten auch einen Blick darauf werfen [blog post] (http://eewang.github.io/blog/2013/07/29/how-to-use-rake-tasks-to-generate -migration-sql /) –