Có thể xuất các kịch bản thay đổi SQL mà 'rake db: migrate' tạo ra không?Có thể xuất các kịch bản thay đổi SQL mà 'rake db: migrate' tạo ra không?
36
A
Trả lời
33
Bạn có thể tạo một nhiệm vụ Rake trong 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
Sau đó gọi rake db:migrate_with_sql
để đăng nhập khi chuyển đổi.
+1
'ActiveRecord :: Base.logger = Logger.new (STDOUT)' là phép thuật, nhận được một di chuyển cụ thể để chạy chỉ liên quan đến việc thiết lập logger trước :) –
66
xây dựng trên @qarol nhưng thậm chí còn lạnh, thêm nhiệm vụ Rake này đến một trong các file Rake của bạn:
task :log => :environment do
ActiveRecord::Base.logger = Logger.new(STDOUT)
end
Sau đó, bạn có thể gọi BẤT CỨ nhiệm vụ Rake và có đầu ra đăng nhập:
rake log db:migrate
6
Đầu ra SQL được ghi lại trong tệp nhật ký môi trường của bạn, ví dụ development.log
Các vấn đề liên quan
- 1. Không thể chuyển đổi Fixnum chuỗi trong rake db: tạo
- 2. Làm cách nào để bỏ qua di chuyển không thành công? (rake db: migrate)
- 3. Làm thế nào tôi có thể cho biết những thay đổi 'rake db: migrate' sẽ áp dụng trước khi áp dụng chúng?
- 4. Các kịch bản SQL Server có thể chạy lại
- 5. rake db: rollback không hoạt động?
- 6. SQL Server 2008 Tự động tạo các kịch bản thay đổi Vấn đề di sản
- 7. tạo chỉ mục mà không khóa DB
- 8. Tại sao tôi được yêu cầu chạy 'rake db: migrate RAILS_ENV = test'?
- 9. ray 4.0, rake db: phiên: tạo
- 10. Sử dụng rake db: di chuyển thẳng, vani SQL
- 11. SQL Management Studio sẽ không nhận ra bảng tồn tại sau khi tạo kịch bản
- 12. Làm thế nào để rake db: thả và rake db: tạo trên Heroku?
- 13. $ bó exec rake db: reset chăn lệnh không thể thả db/development.sqlite3
- 14. mới cho đường ray, thiết lập db rồi chạy rake db: tạo/di chuyển
- 15. Có thể chạy các kịch bản lệnh Node.js mà không cần gọi `nút` không?
- 16. heroku rake db: cấu trúc: tải lỗi
- 17. Tạo các kịch bản máy chủ SQL từ dòng lệnh?
- 18. rake db: di chuyển không hoạt động
- 19. bundle exec rake db: di chuyển nguyên nhân "không thể tìm thấy rake" lỗi
- 20. Có thể tạo ra SQL được tạo ra bằng EclipseLink mà không cần phải tăng độ dài log?
- 21. rake db: di chuyển cho 'bất ngờ \ n' lỗi
- 22. rake db: di chuyển dường như không hoạt động trong sản xuất
- 23. Làm thế nào tôi có thể có NHibernate chỉ tạo ra các SQL mà không thực hiện nó?
- 24. Kịch bản lưu trữ SQL
- 25. Không thể tạo tài khoản Devise bằng rake db: seed for Rails 3.0
- 26. Lỗi MySql 1045 sau khi rake db: tạo
- 27. đăng nhập Không SQL Server Express có quyền tạo db
- 28. Tôi có thể thay đổi cách ReSharper tạo ra các thuộc tính không?
- 29. Không thể chuyển đổi kịch bản Bash để Zsh kịch bản
- 30. Chạy rake db: thả db: tạo db: di chuyển trên Heroku Cedar chồng
Bạn cũng nên xem [bài đăng trên blog] này (http://eewang.github.io/blog/2013/07/29/how-to-use-rake-tasks-to-generate -migration-sql /) –