2012-11-29 40 views
5

Tôi đang sử dụng công cụ dòng lệnh đường bay để di chuyển DB. Nếu tôi đặt các di chuyển SQL trong thư mục SQL nó hoạt động tốt. Tuy nhiên, nếu tôi đặt thuộc tính Vị trí thành đường dẫn trên hệ thống tệp, nó không thành công mà không có bất kỳ cảnh báo hoặc lỗi nào.Dòng lệnh Đường bay không thể tìm thấy di chuyển trên hệ thống tệp

ví dụ: flyway.locations=/file-path/

Cách chỉ định đường dẫn hệ thống tệp? Tôi không muốn di chuyển của mình trong thư mục SQL.

Trả lời

0

này hiện chưa được hỗ trợ: https://github.com/flyway/flyway/issues/108

Là một workaround bạn có thể liên kết mềm/sql vào thư mục bạn muốn sử dụng.

+0

Cảm ơn bạn đã trả lời nhanh. Plugin anten đường bay có hỗ trợ nhiều lược đồ với vị trí khác nhau để di chuyển cho từng vị trí không? Tôi biết đường bay nói chung, nhưng ant plugin dường như không làm điều đó. –

+0

Sử dụng một đường bay: di chuyển cuộc gọi cho mỗi đường bay. Xem thêm: http://flywaydb.org/documentation/faq.html#multiple-schemas –

+0

Tôi đã cố gắng thực hiện điều đó nhưng đường bay thứ hai: di chuyển cuộc gọi dường như sử dụng bảng schema_version của lược đồ đã di chuyển trước đó. Làm thế nào để làm cho chúng sử dụng bảng schema_version riêng lẻ? –

0

Bạn nên tiền tố đường dẫn tuyệt đối đến thư mục 'di cư' với String "hệ thống tập tin:", như thế này:

String path = "/my/project/sql/migrate/"; 
migrateRelease("filesystem:" + path); 
flyway.setLocations(location); 
flyway.migrate(); 
0

Nhờ Axel, nó đang làm việc trên phiên bản 3.2.1. Điều duy nhất còn lại cần chú ý là số phiên bản trên các tệp di chuyển của bạn phải lớn hơn số phiên bản trên bảng schema_version. Nếu không, bạn có thể kết thúc với kết quả sau khi chạy lệnh di chuyển;

Flyway 3.2.1 by Boxfuse 

Database: jdbc:mysql://... 
Validated 1 migration (execution time 00:00.009s) 
Current version of schema `ref_db`: 1 
Schema `ref_db` is up to date. No migration necessary. 
Các vấn đề liên quan