是否可以輸出'rake db:migrate'生成的SQL更改腳本?是否可以輸出'rake db:migrate'生成的SQL更改腳本?
36
A
回答
33
可以在lib/tasks/
創建一個Rake任務:
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
然後調用rake db:migrate_with_sql
登錄遷移。
+1
'ActiveRecord :: Base.logger = Logger.new(STDOUT)'是神奇的,獲得一個特定的遷移運行只涉及設置記錄器之前:) – 2016-02-07 09:12:59
66
大廈@qarol但更酷,這Rake任務添加到您的Rake文件之一:
task :log => :environment do
ActiveRecord::Base.logger = Logger.new(STDOUT)
end
然後就可以調用任何耙任務,並有記錄的輸出:
rake log db:migrate
6
SQL輸出被捕獲在您的環境日誌文件中,例如development.log
相關問題
- 1. 是否可以更改導葉輸出?
- 2. 如何判斷rake db:migrate和rake db:seed是否成功
- 3. 腳本是否可以更改腳本運行的bash的cwd?
- 4. 從SQL生成更改腳本
- 5. rails db:migrate vs rake db:migrate
- 6. rake db:migrate rake aborted! StandardError:發生錯誤
- 7. 是否可以生成從SQL Server 2008到SQL Server 2008 Express的腳本
- 8. 生成更改腳本
- 9. 生成SQL腳本
- 10. 生成SQL腳本以創建或更改表/存儲過程
- 11. rake db:migrate返回「rake:是一個目錄」?
- 12. 是否可以通過腳本自動生成我的Linq2Sql DBML?
- 13. 僅生成數據更改的SQL更改腳本(不是模式)
- 14. 是否可以在CMake中更改生成的makefile的名稱?
- 15. 是否可以更改Doxygen生成的html文件的名稱?
- 16. Rake db:migrate error-SQLite3
- 17. Rake或Rails db:migrate
- 18. Heroku rake db:migrate
- 19. Rake db:migrate error
- 20. heroku rake db:migrate aborting
- 21. rake db:migrate(error)!
- 22. Heroku rake db:migrate aborted
- 23. 創建一個適度的自動生成SQL更改腳本?
- 24. WCF服務在jsdebug中生成的URL是否可以更改?
- 25. 是否可以在預生成事件中更改文件的生成操作?
- 26. 是否可以使用nsis腳本更改bat文件的值?
- 27. SQL腳本生成SQL腳本
- 28. 是否有可能爲一行數據生成SQL更新腳本?
- 29. 是否可以爲map-reduce生成多個輸出文件?
- 30. Oracle過程是否可以生成輸出記錄?
你還應該看看這個[博客文章](http://eewang.github.io/blog/2013/07/29/how-to-use-rake-tasks-to-generate -migration-sql /) – 2014-02-24 19:20:57