【问题标题】:Best Practice Database Types for Joomla Programming [closed]Joomla 编程的最佳实践数据库类型 [关闭]
【发布时间】:2013-04-04 09:24:26
【问题描述】:

我很好奇在 Joomla 中为您的后端组件(或模块)构建数据库时,其他人发现什么是最佳选择。

例如,在数据库中的一个简单的后端轮播中,我会使用:


idsmallint unsigned,预计项目数不会达到 65k

img我做varchar并把url指向要上传的文件

title我会使用 tinytext,因为我不希望标题超过 255 个字符。

description 我一直在使用 text,因为我不希望他们在这个上达到 65k... 而且,这个文字说明会显示在图片下方如果单击轮播项目,则在灯箱中。

link 这将进入不同类型的轮播,但例如,如果我有一个链接,我将使用 varchar 就像 img url。

ordering 在这里我使用 smallint unsigned 就像 id 一样,因为它有可能达到那个(不像 ID 那样容易,它是自动递增的,因此即使在 item 之后也会不断增加被删除...)。

published 为此我使用 tinyint ...这是最好的选择吗?没有我知道的布尔值。


我目前正在使用 MySQLi 并在 Joomla 2.5.9 上进行开发(但最终/很快将迁移到 3.x)。

【问题讨论】:

    标签: mysql joomla joomla2.5


    【解决方案1】:

    我倾向于遵循 Joomla! 中使用的内容!核心,以便我的表、模型、控制器等可以充分利用 JTable、JModel 等功能,所以:

    `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
    `title` varchar(255) NOT NULL DEFAULT '',
    `description` mediumtext NOT NULL,
    `state` tinyint(3) NOT NULL DEFAULT '0',
    `images` text NOT NULL,
    `urls` text NOT NULL,
    `ordering` int(11) NOT NULL DEFAULT '0',
    

    请注意,published 变为 state,因为使用的不仅仅是已发布和未发布状态(例如 TrashedArchived 和自定义选项)。

    【讨论】:

    • 有趣的、url、图像作为文本似乎很浪费,但我很好奇 Joomla 开发人员为什么选择采用这些方式。此外,已发布成为 3.0 中的状态?感谢您的回复。
    • Published is State after 1.6.
    • 实际上,大多数组件的状态 === 状态。对于联系人组件,状态存储在已发布列中,因为与地址字段(状态为阿拉斯加)发生冲突。我建议在您的组件中使用 Published 我认为它没有被完全改变以实现向后兼容性
    • 我很好奇,id 为 int(10) 的数据最多可以存储多少行?
    猜你喜欢
    • 2013-06-30
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    相关资源
    最近更新 更多