我开发了一个 Joomla 扩展,在最新版本中,需要从属于我的插件的表中删除一列。
据我所知,只有当它存在时才能删除 Mysql 中的列。因此,我目前看到的唯一可能性是使用自定义 php 升级代码,如此处所示。
但是这个问题对我来说似乎很常见,以至于我怀疑这是一个更简单的解决方案?是否有一种简单的方法(通过 Joomla 提供)仅在从特定扩展版本更新时执行模式更改?
我开发了一个 Joomla 扩展,在最新版本中,需要从属于我的插件的表中删除一列。
据我所知,只有当它存在时才能删除 Mysql 中的列。因此,我目前看到的唯一可能性是使用自定义 php 升级代码,如此处所示。
但是这个问题对我来说似乎很常见,以至于我怀疑这是一个更简单的解决方案?是否有一种简单的方法(通过 Joomla 提供)仅在从特定扩展版本更新时执行模式更改?
检查使用 Joomla 管理组件更新;从 Joomla 1.6 开始,有一种定义的方式来执行特定的 SQL 指令以从一个版本升级到另一个版本。基本上,对于每个版本,都必须在特定的文件结构中创建一个 SQL 文件(即使它是空的或只包含注释)。链接的文章解释了细节。