Czy można wyprowadzać skrypty zmian SQL, które generuje "rake db: migrate"?Czy można wyprowadzać skrypty zmiany SQL, które generuje "rake db: migrate"?
Odpowiedz
Można utworzyć zadanie zgarniać lib/tasks/
:
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
Następnie zadzwonić rake db:migrate_with_sql
zalogować migrację.
'ActiveRecord :: Base.logger = Logger.new (STDOUT)' jest magią, uzyskanie konkretnej migracji do uruchomienia wymaga wcześniejszego ustawienia rejestratora :) –
Opierając się na @qarol ale nawet chłodniej, dodać tego zadania Rake do jednego z plików Zgrabiarka:
task :log => :environment do
ActiveRecord::Base.logger = Logger.new(STDOUT)
end
Następnie można wywołać ANY zadania Rake i posiada wyjście logowanie:
rake log db:migrate
Możesz użyć tego: ActionMailer :: Base .logger = ActiveRecord :: Base.logger = Logger.new (STDOUT), aby uzyskać również dane wyjściowe programu Mailer. – Josh
To działało świetnie i jest znacznie bardziej ogólne. To powinna być zaakceptowana odpowiedź. –
Zgoda, to fantastyczna wskazówka. – bonh
Dane wyjściowe SQL są przechwytywane w pliku dziennika środowiska, np. development.log
- 1. co dokładnie robi rake db: migrate do?
- 2. rake db: migrate nie wykrywa nowej migracji?
- 3. Jak pominąć migracje zakończone niepowodzeniem? (rake db: migrate)
- 4. Jak mogę sprawdzić, jakie zmiany będą miały "rake db: migrate" przed ich zastosowaniem?
- 5. rake db: migrate VERSION = 0 tabela nie istnieje
- 6. rake db: migrate wydaje się nie działać w produkcji
- 7. rake db: migrate wyświetla "rake Aborted! Could not find table" error
- 8. Czy po cofnięciu "db: migrate" muszę cofnąć "rails generate scaffold"?
- 9. rake db: create vs rake db: create: wszystko
- 10. rake db: migrować dając „niespodziewany \ n” Błąd
- 11. szyny 4,0, rake db: sesje: tworzenie
- 12. Dlaczego pojawia się monit o uruchomienie "rake db: migrate RAILS_ENV = test"?
- 13. rails 4 - polecenie rake wyświetla ostrzeżenie o wycofaniu za każdym razem, gdy uruchamiam program rake db: polecenie migrate
- 14. Wszelkie narzędzia do eksportowania całego Oracle DB jako skrypty SQL
- 15. heroku uruchom rake db: migrate error "/ usr/bin/env: ruby2.2: Brak takiego pliku lub katalogu"
- 16. Nie można przekonwertować Fixnum ciąg podczas rake db: create
- 17. Nie można uruchomić Heroku rake db migrują przez mojego app
- 18. Jak wyświetlić kod (nie wyprowadzać), który generuje .Net T4?
- 19. rake db: migrować nie działa na moim PostgreSQL db
- 20. Skrypty Uprawnienia serwera SQL
- 21. Skrypty Nhibernate i sql
- 22. sqlalchemy postgresql enum nie tworzy typu na db migrate
- 23. Co robi rake db: test: właściwie przygotowujesz?
- 24. Używanie prowizji db: migracja prosta, wanilia SQL
- 25. Rake in Rails: czy powinienem używać db: reset?
- 26. Ponownie uruchamiane skrypty SQL Server
- 27. Nie wiem, jak zbudować zadanie "db: migrate" w/Rails 3.2.0.rc2
- 28. bundle exec $ rake db: reset podnoszenie polecenia nie może spaść db/development.sqlite3
- 29. Czy CMake może generować skrypty budujące, które * nie * używają cmake?
- 30. Czy warto umieścić plik db/schema.rb na liście .gitignore ??
Powinieneś również rzucić okiem na ten [wpis na blogu] (http://eewang.github.io/blog/2013/07/29/how-to-use-rake-tasks-to-generate -migration-sql /) –