2009-05-21 29 views
6

Có cách nào để thêm Sơ đồ cơ sở dữ liệu SQL Server vào kiểm soát nguồn không? Tôi dường như không thể tìm cách để viết nó ra khỏi cơ sở dữ liệu. Nếu vậy, có cách nào để đưa sơ đồ đó vào một Dự án Cơ sở dữ liệu Visual Studio để triển khai dễ dàng không?Thêm Sơ đồ Cơ sở dữ liệu vào Kiểm soát Nguồn?

+1

Hmmm ... xin lỗi vì đã hỏi điều này, nhưng bạn có chắc chắn rằng bạn * nên * phiên bản kiểm soát điều này, thay vì mã (SQL DDL) không? – Treb

+0

@Treb, anh ta không nói anh ta muốn sơ đồ thay thế mã DDL. – Sam

Trả lời

2

đến kịch bản nó vào một tập tin thử:

http://www.codeproject.com/KB/database/ScriptDiagram2005.aspx

tôi sẽ không làm điều này.

+3

+0.1 cho lkink và +0.9 để không làm điều đó (sau khi đọc bài viết ;-) – Treb

+0

Phiên bản thay đổi của http://joelmansford.wordpress.com/2008/04/01/scripting-sql-server- ở trên diagrams-to-files-for-source-control/thông qua @ joel-mansford –

+0

Và bây giờ có một phiên bản sửa đổi của quá đó: https://github.com/timabell/database-diagram-scm –

1

Tôi không biết lợi thế của việc lưu trữ sơ đồ trong điều khiển nguồn sẽ là gì. Các sơ đồ cơ sở dữ liệu đặt một minh họa cho các mối quan hệ cơ sở dữ liệu của bạn cần được xác định ở nơi khác. Vì vậy, miễn là bạn đặt các kịch bản tạo cho DB của bạn trong nguồn an toàn, sơ đồ sẽ chỉ hiển thị tốt khi bạn tạo nó và thêm các bảng của bạn vào nó.

+0

Bạn có thể di chuyển các thực thể xung quanh các cách ngụ ý phân nhóm trên sơ đồ cơ sở dữ liệu không được nêu rõ trong lược đồ. Có, các mối quan hệ có thể được tạo tự động, nhưng bố cục không thể. Bạn đã bao giờ tạo một sơ đồ cơ sở dữ liệu mới với tất cả các bảng trong cơ sở dữ liệu của mình và đã hài lòng với bố cục chưa? – brian

+1

Tôi không dành nhiều thời gian với sơ đồ cơ sở dữ liệu của SQL vì lý do đó. Nếu tôi cần đưa mô hình cho người dùng hoặc người khác, tôi có thể cân nhắc việc sử dụng Visio hoặc một công cụ Sơ đồ ER khác. Đối với tôi, các mô hình SQL là một tham chiếu nhanh về cấu trúc và mối quan hệ là gì. Không phải cái gì tôi sẽ xem như một mục vĩnh viễn. – RSolberg

+0

-1 cho thấy rằng các nhà phát triển tạo lại các biểu đồ mỗi khi họ cần chúng và không thực sự nói với người hỏi cách làm những gì anh ta/cô ấy muốn. – Sam

0

Không thực sự dễ dàng để thực hiện việc này. Tôi thường làm một vài điều cho việc này.

  1. Đơn giản chỉ cần in tài liệu sang PDF sử dụng một cái gì đó giống như CutePDF
  2. Sử dụng Visio và các tùy chọn Reverse Engineering để tạo ra các tài liệu, sau đó lưu tập tin Visio
  3. Sử dụng Enterprise Architect hoặc công cụ tương tự cho quá trình này.

Cá nhân tôi sử dụng tùy chọn 3, do vòng đời mà tôi lấy đơn đăng ký của mình thông qua. Nhưng điều thực sự là những gì bạn đang tìm kiếm để lưu trữ, nếu nó là một phiên bản tĩnh của sơ đồ cơ sở dữ liệu, bất kỳ điều nào ở trên đều hợp lệ.

0

Tôi đã được phép xuất bản biến thể của mình trên tập hợp các tập lệnh thực hiện điều đó, cung cấp nhập/xuất hai chiều dễ dàng giữa các tệp và sơ đồ được lưu trữ trong cơ sở dữ liệu.

https://github.com/timabell/database-diagram-scm

Chỉ cần chạy tập tin thực thi, chỉ vào cơ sở dữ liệu của bạn lựa chọn và bạn sẽ nhận được một bộ các tập tin, một cho mỗi sơ đồ. Thật không may dữ liệu vẫn là nhị phân, nhưng đó là một sự khởi đầu.

Nó dựa trên những gì người khác đã làm, chắc chắn là vai của công việc khổng lồ. :-)

Các vấn đề liên quan