Tôi đã nghiên cứu một cách để có được các câu lệnh SQL được xây dựng bởi một tệp Migration được tạo. Chúng mở rộng Doctrine_Migration_Base. Về cơ bản tôi muốn lưu SQL dưới dạng tập lệnh thay đổi.Lấy SQL từ Doctrine Migration
Đường dẫn thực hiện dẫn tôi đến Doctrine_Export có các phương thức xây dựng câu lệnh SQL và thực thi chúng. Tôi không tìm được cách nào để yêu cầu họ. Các phương thức export được tìm thấy trong Doctrine_Export chỉ hoạt động trên các mô hình Doctrine_Record chứ không phải các kịch bản Migration.
Từ dòng lệnh './doctrine di chuyển phiên bản #' con đường đi:
- Doctrine_Cli :: chạy (cmd)
- Doctrine_Task_Migrate :: setArguments (args)
- Doctrine_Task_Migrate :: thực hiện()
- Doctrine_Migration :: di chuyển (để)
- Doctrine_Migration_Process :: Doctrine_Export :: khác nhau tạo, thả, thay đổi phương pháp với sql equi valents.
Có ai đã giải quyết vấn đề này trước đây không? Tôi thực sự không muốn thay đổi các tệp cơ sở Doctrine. Bất kỳ trợ giúp nào cũng được đánh giá rất cao.
Thú vị. Tôi sẽ nhìn vào đó và lấy lại cho bạn. Tôi cảm thấy tôi có thể phải sửa đổi các tập tin Doctrine cơ sở dù việc triển khai CLI của họ còn thiếu. Có một tùy chọn dryRun có sẵn mà Doctrine_Task_Migrate thậm chí không bận tâm kiểm tra. Về cơ bản, 2 tùy chọn mà tôi sắp sửa là: Thêm tùy chọn dryRun, chạy di chuyển với dryRun và SQL Trace để nắm bắt các câu lệnh. Hoặc Cùng với tùy chọn dryRun, thêm tùy chọn khác để chỉ xuất các câu lệnh SQL , điều này sẽ yêu cầu tệp Doctrine_Migration_Process đã sửa đổi, có lẽ tôi sẽ gọi nó là Doctrine_Migration_GetSQL. –
Âm thanh hợp lệ. Chắc chắn SQL Trace là một cách tốt để nhận các lệnh. –