【发布时间】:2014-05-30 11:19:56
【问题描述】:
我尝试将 joomla 从 2.5.x 版本升级到 3 版本,但遇到了各种错误,例如我在 here 之前发布的错误。 所以我正在尝试另一种方式,将数据库表从 2.5.11 移动到 3.2.3 版本的数据库。为此,我安装了一个新的 3.2.3 站点,其中包含所需的扩展,如 k2、CB...
我已经能够将 joomla 2.5.11 站点的数据库表(如用户、模块、菜单和其他扩展表)移动到 joomla 3.2.3 站点,所以在这个新站点中,我正在获取所有用户、菜单和模块以及扩展的数据.
但是“资产”和“扩展”表呢,做一个完整的 通过数据库升级,我应该移动这两个表吗 与新站点中的其他内容的兼容性?或者我已经离开了 这些表好吗?
仅供参考,在我的 2.5.11 站点中,我不需要内容文章,因为我正在使用 k2。此外,我还必须将哪些其他必需表的数据移动到新站点才能使用数据库表进行完整迁移?
【问题讨论】:
-
您是使用 SQL 脚本还是 PHP 移动表数据?
-
这会成倍地增加您要完成的任务的难度。 Joomla 的 ACL 很大程度上依赖于资产表,并且在管理员界面中创建任何类型的内容和类别时建立了许多自动关联。每当我面临迁移网站时,我总是使用 PHP 和 Joomla 框架直接连接到旧数据库,并使用类别、文章、模块、菜单等的核心 JTable 类来创建所有这些关联的新条目是自动化的。
-
如果这不是一个选项,您将需要深入研究每个相关表的相应 JTable 扩展类,以找出并使用 sql 脚本手动编写对所有表的所需编辑。
-
仅在处理资产表时,使用 php 代码和 JTable 类在目标站点数据库中添加/编辑表似乎有点困难。您有任何专门针对此的教程吗?我通过 sql 脚本做所有事情的方式非常富有成效,因为我为所有必需的表放置了 drop table sql 命令,然后放置了 create table 命令,然后在 sql 脚本中从源 2.5 站点的必需表中插入数据 sql 命令,最后运行它目标数据库。如果缺少某些列,我在扩展管理器-> 数据库页面中单击修复,并且事情很糟糕。
-
这可能是实力问题,我是一个更强大的 PHP 程序员和 Joomla 开发人员,然后我在编写 SQL 脚本。由于从您的评论中可以看出,sql 脚本运行良好。关于扩展表,它包含核心扩展和第三方扩展。您只需要注意任何第 3 方扩展都将期待新站点上的文件这一事实,有时对于不同版本的 Joomla,相同扩展之间的文件结构和自定义表会发生变化。如果 sql 脚本正常工作,请坚持下去。
标签: php joomla2.5 joomla-extensions joomla3.0 joomla-k2