我正在开发小应用程序。 它是像应用程序的小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