gpt4 book ai didi

joomla2.5 - 没有为我的组件 Joomla 2.5 执行更新 sql

转载 作者:行者123 更新时间:2023-12-04 04:44:20 26 4
gpt4 key购买 nike

我正在尝试向 Joomla 中的某些表添加一些新列,因为我需要将这些修复程序从开发迁移到生产我正在尝试以干净的方式执行此操作,通过文件系统进行更新。

我遵循了一些关于此的教程并执行了以下操作。

我创建了文件夹 updates/sql 并用我的新版本 (1.5) 在其中放置了一个新的 sql 文件。
我更改了 xml 文件中的版本号。
我在后端刷新了缓存。

以下是我使用的代码:

我的版本:

<version>1.5</version>

更新节点:
<update>
<schemas>
<schemapath type="mysql">sql/updates/mysql</schemapath>
<schemapath type="sqlsrv">sql/updates/sqlsrv</schemapath>
<schemapath type="sqlazure">sql/updates/sqlazure</schemapath>
</schemas>
</update>

sql文件:
ALTER TABLE `#__mycomponent` ADD `field` VARCHAR(255);

我直接针对数据库测试了我的查询并且它有效,我错过了什么?

最佳答案

简短回答 - Joomla! 的数据库迁移工具仅在通过组件管理器上传新组件后才执行。它不会在每个 $_REQUEST 上检查迁移,这就是您的问题所暗示的。

更长的答案

确保通过组件管理器运行升级。简单地覆盖文件不会触发 Joomla 的迁移过程。检查 #__schemas 表中的组件 ID,它将具有相应的数据库架构版本 #。如果该版本尚未增加,则未应用迁移。

问题的一部分是

I am trying to do this the clean way, updates trough the filesystem



虽然我同意你的看法,但这将是干净的方式:Joomla!想让你做的事Joomla!方式;-)

关于 Joomla 的重要说明! SQL 文件

SQL 文件不能包含 C 风格的注释( # comment here ),并且必须包含这样的注释 -- comment here花了几个小时调试我自己的代码,不得不重新运行升级大约 25 次才能找出数据库架构迁移失败的地方。

评论可支持 /* Comment */ style 语法,但我还没有对其进行广泛的测试。天啊。

关于joomla2.5 - 没有为我的组件 Joomla 2.5 执行更新 sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18423081/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com