Chúng tôi lưu trữ các thiết lập cấu hình trong một bảng kiểu chìa khóa/giá trị, một cái gì đó như:
CREATE TABLE Configuration.GlobalSettings
(
SectionName VARCHAR(50),
SettingName VARCHAR(50),
SettingValue VARCHAR(1000),
SettingType TINYINT
);
Các SectionName
& SettingName
là khóa chính, chúng tôi chỉ chia chúng lên để làm cho nó dễ dàng hơn để truy vấn những gì có trong một và cho phép tải các phần riêng lẻ vào trình xử lý thay vì tải toàn bộ lô cùng một lúc. SettingValue
là một chuỗi và sau đó là SettingType
là một phân biệt đối xử cho chúng ta biết giá trị cài đặt sẽ được diễn giải như thế nào (ví dụ: 1 = string, 2 = bool, 3 = decimal, v.v ...).
Điều này có nghĩa là bạn không phải thay đổi cấu trúc bảng cho cài đặt mới, chỉ cần thêm cấu trúc bảng mới trong tập lệnh triển khai hoặc bất cứ nơi nào bạn thiết lập những thứ này.
Chúng tôi tìm cách cấu hình tốt hơn một tệp vì nó có nghĩa là bạn có thể dễ dàng thay đổi các giá trị cấu hình thông qua giao diện quản trị khi cần thiết, có thể thực thi logic xung quanh những gì có thể đi vào từng cài đặt. Bạn không thể làm điều đó dễ dàng như vậy với một tập tin (mặc dù, tất nhiên, nó là có thể).
Nguồn
2009-12-03 17:11:51
Nếu bạn cần thêm cột mới nếu loại mới của bất kỳ thứ gì bạn đang lưu trữ xuất hiện, giản đồ của bạn có lẽ không được chuẩn hóa. – EricSchaefer