Joomla 1.5 和 1.6 的扩展清单文件中指定的 install.sql 文件的用法有什么区别。
在 1.5 中,如果您使用 method="upgrade" 并且组件已经安装, install.sql 确实会执行。
在 2.5 中,如果您使用 method="upgrade" 并且该组件已安装,则 install.sql 不会执行。
有谁知道这种变化是故意的吗?
这是故意的,因为从 1.6 开始,现在有一个 sql 更新标签:
//executed when component is installed for the first time
<install folder="admin">
<sql>
<file driver="mysql" charset="utf8">sql/example.install.sql</file>
</sql>
</install>
//executed when component is uninstalled
<uninstall folder="admin">
<sql>
<file driver="mysql" charset="utf8">sql/example.uninstall.sql</file>
</sql>
</uninstall>
//executed when the component is installed over an existing version
//or updated through the Joomla Update Manager
<update>
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
</schemas>
</update>
有关更多信息,请参阅 manifest.xml 结构上的Joomla 1.6 wikipage