我正在试图找出关于何时应该将“文本条目”存储在数据库中而不是作为静态文件的截止点。这里有任何经验法则吗?文本条目将包含最多几个段落,并具有图像和表格的链接(以及指向其他文本条目的超链接)。文本输入的一些标准:
提前感谢,查克
答案 0 :(得分:0)
“rails way”将使用数据库。
该解决方案将更具可扩展性,因此更快,可能更容易开发(使用迁移等)。使用文件系统,您必须自己构建许多函数,这些函数已经为数据库使用而实现。
您可以创建模型(例如)文档并轻松使用现有版本控制系统,例如paper_trail。使用索引搜索时,您可以使用has_many关系来实现模型之间的依赖关系(销毁模型意味着销毁搜索索引)。
答案 1 :(得分:0)
您可以查看数据库提供的内容,并询问自己这些功能是否有用,而不是截止。采取隔离(我在ACID中):如果您有任何担心多个人可能同时尝试编辑条目,数据库将处理好这个,而你必须自己处理锁与文件。或原子性:您可能希望一次更新两件事(例如索引页和入口页)并知道它们要么成功要么都失败。
数据库执行ACID之外的许多事情,例如利用多种数据类型,使查询更容易,以及允许扩展。这是一个值得提出的问题,因为大多数数据库最终都会将数据存储在磁盘上的一堆文件中。如果您自己使用文件,最终会写一个迷你数据库吗?
此外,如果你正在使用rails,你也要考虑使用它的ActiveRecord功能,并且可以使用许多期望数据库的插件。
即使是一个小型的单用户轨道应用程序,我也会使用数据库。