Câu hỏi này có vẻ ngu ngốc, nhưng tôi không thể tìm thấy bất kỳ hướng dẫn nào về cách quay trở lại tiến hóa trong Play 2.0. Google chỉ tìm các trang nói rằng phần "Downs" của một tệp tiến hóa được sử dụng cho điều đó và đó là tất cả. Bất kỳ con trỏ hoặc hướng dẫn nào cũng sẽ được đánh giá cao.Lăn một sự tiến hóa trở lại
Trả lời
Các Số lượt truy cập phần được sử dụng chủ yếu để hoàn nguyên tiến trình khi tập lệnh đã thay đổi. Tức là, bạn có một dự án với 2.sql áp dụng cho cơ sở dữ liệu và sau đó, do hợp nhất, 2.sql được sửa đổi trong nguồn. Phát sẽ chạy Số lượt truy cập trên phiên bản cũ và sau đó Ups trên mới 2.sql để đảm bảo cơ sở dữ liệu được đồng bộ hóa với codebase.
Theo như tôi biết không có cách nào để kích hoạt Downs bởi chính nó, là mục đích của một Tiến hóa là để chuẩn bị cơ sở dữ liệu để làm việc với mã của bạn, và áp dụng chỉ là một Downs bước sẽ rời khỏi ứng dụng ở trạng thái không nhất quán với nhiều lỗi tiềm ẩn phát sinh.
Nếu bạn thực sự cần hoàn nguyên thứ gì đó, đó sẽ là Evolution (3.sql) mới, trong đó Ups sẽ thực hiện các thay đổi cần thiết.
Mục đích của phần '# ---! Downs' trong diễn biến là gì? – tuxdna
Để phát 2.4.x, theo tài liệu phát, bạn chỉ cần gọi Evolutions.cleanupEvolutions(database)
sau khi thử nghiệm. Xem tại đây https://www.playframework.com/documentation/2.4.x/ScalaTestingWithDatabases
Bạn có thấy tài liệu này không? http://www.playframework.org/documentation/2.0/Evolutions –
Có, tôi đã đọc nó, nhưng nó không nói một từ về việc hoàn nguyên một sự tiến hóa, bằng cách sử dụng phần 'Downs! '. Tôi có thể thiếu một cái gì đó, nhưng thực sự, chủ đề liên quan đến từ xa chỉ được chạm vào trong đoạn ghi chú cuối cùng, nơi nó nói "Trong chế độ phát triển, thường đơn giản chỉ đơn giản là thùng rác cơ sở dữ liệu phát triển của bạn và áp dụng lại tất cả các diễn biến ngay từ đầu." . Vui lòng cho tôi biết nếu tôi sai. – noncom