我正在開發小應用程序。 它是像應用程序的小CMS。本網站的管理員應該可以選擇更改應用程序中的設置。像標題中的文字,當天的消息。哪裏可以保存Web應用程序的配置數據?
我應該在哪裏存儲這些值?數據庫中的表?某種文件?我希望管理員能夠從網站更改這些值,而無需在服務器上手動編輯文件。
我正在開發小應用程序。 它是像應用程序的小CMS。本網站的管理員應該可以選擇更改應用程序中的設置。像標題中的文字,當天的消息。哪裏可以保存Web應用程序的配置數據?
我應該在哪裏存儲這些值?數據庫中的表?某種文件?我希望管理員能夠從網站更改這些值,而無需在服務器上手動編輯文件。
我認爲用WebSiteSettings DB的小表將是最好的解決方案,對我來說。
EDITED
WebSiteSettings表例如:
PK Id [int] not null
StrTmplVal_1 [nvarchar(128)] null
StrTmplVal_2 [nvarchar(256)] null
StrTmplVal_3 [nvarchar(512)] null
BoolTmplVal_1 [bit] null
BoolTmplVal_2 [bit] null
BoolTmplVal_3 [bit] null
IntTmplVal_1 [int] null
IntTmplVal_2 [int] null
IntTmplVal_3 [int] null
WebSiteSettings模型例如爲個人網站:
SettingsId -> Id
SiteName -> StrTmplVal_1
PageHeader -> StrTmplVal_2
WelcomeText -> StrTmplVal_3
IsDemoVersion -> BoolTmplVal_1
IsTilesShowed -> BoolTmplVal_2
MaxRowCountOnPage -> IntTmplVal_1
WelcomeAnimationDelay -> IntTmplVal_2
我想按照這個結構的表是一個開始:
表設置 ID(int, primary key), Name(varchar)
表SettingValuesID(int, primary key), SettingID(int foreign key), Value(blob)
請注意,我用BLOB(二進制大對象)類型的設置的實際值。因此,您可以通過序列化來保存設置。
希望我幫了忙!
不錯,但我不明白爲什麼沒有名稱和值(blob)單表?我是SQL新手,我對學習這些小技巧感興趣。 – Hooch
因爲對於某些設置你可能有很多值...如果你不需要「一對多」的關係,你可以把它放在一個表中...... –
但它應該看起來如何?帶有「鍵」「值」列的表格? 價值長度類型差異怎麼樣? 它是如何解決「大」的應用程序? – Hooch
您可以使用字符串,int和bool類型創建具有多個列的表格,並將它們映射到不同網站的不同模型上。我現在的網站標題(和其他東西),你不需要大量的模板,他們不是很大(像往常一樣字符串變量少於512個字符)。 – melvas
這是「很多專欄」的好主意。我知道了。但是,如果你想要接受答案,你應該稍微編輯一下,併爲將來可能來到的其他人舉例。再次感謝您的想法。 – Hooch