Tôi làm việc với một nhà phát triển khác trên một trang web Drupal. Chúng tôi đã đấu tranh để tìm ra một cách tốt để làm việc trên các phần khác nhau của trang web cùng một lúc mà không gặp nhau. Chúng tôi đã thử làm việc trên cùng một phiên bản phát triển của trang web, nhưng chúng tôi thường giẫm lên các ngón chân của nhau hoặc đưa trang web xuống với một số mã xấu khiến cho trang kia không thể tiếp tục hoạt động cho đến khi giải quyết xong. Vì vậy, chúng tôi đã chuyển sang các trường hợp phát triển riêng biệt. Nhưng bây giờ, đó là một nỗi đau lớn để hợp nhất công việc của chúng tôi vào một ví dụ duy nhất của trang web. Về cơ bản, chúng tôi cuối cùng đã làm lại mọi thứ trên một bản sao được chia sẻ.
Vấn đề lớn nhất hiện nay của chúng tôi là làm cách nào để hợp nhất các thay đổi cơ sở dữ liệu và làm cách nào để đưa cơ sở dữ liệu vào hệ thống kiểm soát nguồn của chúng tôi? Các tập tin rất dễ dàng, chỉ cần theo dõi tất cả (chúng tôi sử dụng git) và hợp nhất công việc của chúng tôi, giải quyết xung đột khi cần thiết. Nhưng điều này không thực sự hoạt động với cơ sở dữ liệu. Chúng tôi có thể lấy một kết xuất SQL và đưa nó vào kho git của chúng tôi, nhưng chúng tôi thực sự không thể hợp nhất các cơ sở dữ liệu. Các mô-đun tính năng giúp một chút, cho phép chúng ta xuất khẩu một số công việc cơ sở dữ liệu của chúng tôi vào mã mà sau đó có thể được phiên bản và sáp nhập. Tuy nhiên, thậm chí không gần với mọi thứ hỗ trợ Tính năng. Vì thế...
Những bước nào chúng ta có thể thực hiện để dễ dàng hợp nhất các thay đổi cơ sở dữ liệu của chúng tôi?
Làm thế nào chúng ta nên phiên bản cơ sở dữ liệu (đặt một tệp kết xuất trong git một cách tốt để làm điều đó)?
Có bất kỳ mô-đun có sẵn nào giúp giải quyết một số vấn đề này không?
Hoặc, có phải chúng ta bị mắc kẹt với việc làm việc trên cùng một bản sao của trang web? (xin vui lòng không)
Chỉnh sửa: Trong các nhận xét, chúng tôi đã thảo luận về những thứ không thể xuất khẩu với Tính năng và một trong số đó là Phân loại. Có một câu hỏi khác liên quan đến điều đó .