2008-09-24 25 views
5

Tôi có nên sử dụng lược đồ viết tay cho dự án được phát triển bằng ngôn ngữ cấp cao (như Python, Ruby) hay tôi nên để giải pháp ORM tự động tạo ra nó? Cuối cùng tôi sẽ cần phải di chuyển mà không phá hủy tất cả dữ liệu. Không sao khi bị ràng buộc với một RDBMS cụ thể nhưng sẽ tốt hơn nếu các tính năng như ràng buộc và thủ tục có thể được hỗ trợ bằng cách nào đó.ORM: Giản đồ viết tay hoặc được tạo tự động?

Trả lời

3

Tôi không bao giờ đi với lược đồ do ORM tạo.

Tôi thấy rằng cách thức mà ORM muốn tạo giản đồ thường có tỷ lệ cược tổng thể với cách tôi muốn cơ sở dữ liệu của mình được cấu trúc. Ngoài ra, và tôi biết điều này là tầm thường, lược đồ danh pháp thường là người nghèo.

Cấu trúc cơ sở dữ liệu có những ràng buộc riêng của nó, mà tôi thấy rằng thường các công cụ tự động phát hiện ORM không xem xét đầy đủ. Và nếu bạn muốn chạy báo cáo về cơ sở dữ liệu của bạn sau này (và bạn sẽ), thì có cấu trúc và thiết kế cơ sở dữ liệu tốt là rất quan trọng.

1

Để ORM tạo giản đồ mà nó muốn. Sau đó, bạn luôn có thể thay đổi những thứ quá chậm hoặc bạn muốn khác nhau. Nhưng nó cho phép bạn nhanh chóng bắt đầu và có một cái gì đó làm việc cộng với những người ORM thường biết những gì họ làm khi nói đến việc tạo ra các lược đồ.

+0

Tôi nghĩ đó là một cách tốt để bắt đầu, nhưng tôi luôn luôn cần phải ngừng tạo và quản lý bản thân mình, thường là vì lý do hiệu suất của db. –

2

Xem this Coding Horror article và các liên kết để thảo luận về việc di chuyển đó bạn sẽ cần phải làm. Lên kế hoạch cho nó ngay bây giờ.

Cũng xem Martin Fowler on database evolution; Tôi đặc biệt khuyến nghị quan niệm rằng việc tạo ra dữ liệu thử nghiệm là một phần của việc thiết lập cơ sở dữ liệu. Ý tưởng có thể hơi kém phát triển, trong đó không có sự phân định rõ ràng về các vấn đề khác nhau trong các môi trường khác nhau, sự phát triển so với QA so với sản xuất.

0

Hãy để giải pháp ORM của bạn tạo ra nó, nhưng không chỉ sử dụng một cách mù quáng; đọc qua nó và kiểm tra sự tỉnh táo.

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