Tôi đang theo dõi các video hướng dẫn đường ray và tôi không thể tìm ra lệnh thực tế của lệnh db:test:prepare
. Ai đó có thể cung cấp một lời giải thích?Những gì rake db: thử nghiệm: chuẩn bị thực sự làm gì?
Trả lời
The rake db:migrate above runs any pending migrations on the development environment and updates db/schema.rb. The rake db:test:load recreates the test database from the current db/schema.rb. On subsequent attempts, it is a good idea to first run db:test:prepare, as it first checks for pending migrations and warns you appropriately.
- http://guides.rubyonrails.org/testing.html
Về cơ bản nó xử lý nhân bản cơ sở dữ liệu, do đó bạn không cần phải chạy di cư chống lại kiểm tra để cập nhật cơ sở dữ liệu thử nghiệm.
Cụ thể, rake db:test:prepare
sẽ làm như sau:
- Kiểm tra cho sự di cư đang chờ và,
- và tải các giản đồ thử nghiệm
Nghĩa là, nó sẽ trông db/schema.rb
tập tin của bạn để xác định xem bất kỳ di chuyển nào tồn tại trong dự án của bạn chưa được chạy. Giả sử không có di chuyển xuất sắc, sau đó nó sẽ tải rỗng cơ sở dữ liệu và tải lại nó dựa trên nội dung của tệp db/schema.rb
.
rake db: test: preparation là giải pháp tốt cho các vấn đề về PG như this.
“PG :: UndefinedTable: ERROR: mối quan hệ không tồn tại” với một Rails đúng tên và ước", nơi tôi có thể không chỉ thực hiện rake db:migrate RAILS_ENV=production
Khi nào, ví dụ như bạn không thể tạo cơ sở dữ liệu thử nghiệm cho một lỗi thảo luận here: "PG lỗi undefinedtable người dùng mối quan hệ không tồn tại"
Tất cả arround lỗi này "PG :: undefinedTable: ERROR: mối quan hệ xxxxx không tồn tại”
Trong khi liên kết này có thể trả lời câu hỏi, tốt hơn nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. Câu trả lời chỉ liên kết có thể trở thành không hợp lệ nếu trang được liên kết thay đổi. – Patrick
Xin lỗi, đã chỉnh sửa với giải thích –
- 1. chính xác những gì hiện rake db: di chuyển làm gì?
- 2. Thực thi db: test: chuẩn bị từ một nhiệm vụ rake khác
- 3. hướng dẫn lắp ráp 'db' thực sự làm gì?
- 4. Thử nghiệm Rake chạy rất chậm
- 5. rake không chạy thử nghiệm đơn vị
- 6. Làm thế nào/những gì để thử trong BDD
- 7. phân bổ và init những gì họ thực sự làm
- 8. Làm thế nào để rake db :: di chuyển thực sự làm việc
- 9. Thử nghiệm khói là gì?
- 10. Chạy thử nghiệm đơn vị Ruby với Rake
- 11. Làm thế nào để rake db: thả và rake db: tạo trên Heroku?
- 12. rake db: di chuyển và rake db: tạo cả hai công việc trên cơ sở dữ liệu thử nghiệm, không phải cơ sở dữ liệu phát triển
- 13. Dns.GetHostEntry Method (String) thực sự làm gì?
- 14. Theo dõi những gì gây ra các thử nghiệm rspec chậm
- 15. addChildViewController thực sự làm gì?
- 16. CascadeType.REFRESH thực sự làm gì?
- 17. "OperationContext.Current.GetCallbackChannel" thực sự làm gì?
- 18. Thử nghiệm đơn vị và thử nghiệm tích hợp là gì và tôi nên biết những loại thử nghiệm nào khác?
- 19. Không có gì thực sự bị xóa trong git?
- 20. (.net) CriticalFinalizerObject - Nó thực sự làm gì?
- 21. Process.Dispose() thực sự làm gì?
- 22. StreamingContextStates.Clone thực sự làm gì?
- 23. Trình ghép mẫu ảo thử nghiệm của scala là gì?
- 24. Thử nghiệm ứng dụng PhoneGap trên một thiết bị thực
- 25. Chạy các nhiệm vụ Rake trong các thử nghiệm Rspec
- 26. Trình tạo pixel thực sự làm gì?
- 27. Làm thế nào để tải db: dữ liệu hạt giống vào cơ sở dữ liệu thử nghiệm tự động?
- 28. Tệp thực thi có chứa những gì?
- 29. Thử nghiệm khói thuốc là gì và tôi sẽ làm gì?
- 30. Chuẩn bị trước Apache SetEnv REDIRECT_. Đưa cái gì?
Perfect, cảm ơn! – bengem
'rake db: test: preparation' hiện không được chấp nhận. – Jngai1297
ở trên url đã chết, đây sẽ là url mới https://github.com/rails/rails/blob/4-1-stable/activerecord/CHANGELOG.md#rails-410-april-8-2014 – riffraff