01/10/2018, 09:31
Cách chia sẻ cơ sở dữ liệu cho team làm project
Hiện tại em đang làm team về project nhưng cơ sở dữ liệu em chưa viết thủ tục.Bây giờ em muốn bạn em vừa viết code, em vừa viết thủ tục thì em nên share cơ sở dữ liệu kiểu gì ạ? Về phần code em đăng lên git nên mỗii khi commit thì mọi người đều nhận bản sửa chữa. Và em muốn cơ sở dữ liệu cũng được như thế.
Bài liên quan
Tuỳ bạn làm theo monolithic applications: (1) sử dụng 1 framework cho tất cả tính năng, (2) hay microservices, sử dụng nhiều framework, mỗi tính năng 1 framework đảm nhiệm.
Monolithic applications thì cả team phải thống nhất bản thiết kế database.
Microservice thì có nhiều team, mỗi team 1 tính năng, 1 database riêng. Database của team này không liên quan đến team khác.
Bạn có thể setup vpn cho team để sử dụng chung db
Cái này gọi là Database versioning hoặc Database migration, bạn có thể search ra nhiều bài chi tiết hơn.
Nhìn chung, để quản lý db bằng version control (git) thì bạn cần phải viết các thay đổi của database ra các script. Mình có thử search tool tích hợp vào SQL Server Management Studio nhưng chưa tìm được cái nào tốt hoặc mất phí.
Không biết project của bạn là web hay gì, có dùng framework gì ko, thường thì các web framework mình biết đều hỗ trợ viết migration bằng ngôn ngữ lập trình của framework đó (ASP.Net, PHP…) thay cho việc viết bằng SQL. Ngoài ra có một số tool như Liquibase, Flyway, v.v…
Cách thực hiện migration thường là:
1_20170506120102_create_table_products
,2_20170507210105_alter_products_add_column_price
,… Lưu ý là bạn không nên sửa những file script đã tạo, muốn thay đổi gì bạn phải tạo 1 file script mới, để đảm bảo quá trình migrate có thể được thực hiện từ đầu đến cuối.