教程栏目

joomla中文网出品的官方教程

数据库适配

介绍如何将Joomla迁移在国产数据库上

 

  • tinyint类型
    当字段是tinyint类型且长度为1时,迁移的时候,会自动变成布尔型。
    解决办法:将长度改为2或者将类型改为smallint类型
  • 修改索引名
    由于人大金仓不支持不同表使用相同的索引名,如果你的数据库中存在这种情况,那么需要提前修改索引名。
    例如MySQL库中有两张表,A表里有名为user_id的唯一索引,B表里也有名为user_id的索引,那么迁移时会失败。
    建议修改原mysql中的索引名为表名_索引名

在政府项目中正在推进国产化,其中数据库国产化势在必行,为了让公司的产品满足后期的迁移要求,公司要求提前做适配国产数据库。我们项目组主要负责joomla核心的国产数据库适配。适配的目标数据库为达梦数据库和人大金仓数据库。在本系列教程中将记录一下适配的过程。

大小写敏感是在数据库安装时进行设置的,是实例级参数,无法针对数据库单独进行设置。如果需要修改大小写敏感设置,首选重装数据库;如果对数据库比较熟悉,可以通过initdb工具对数据库实例重新初始化,下面我们会详细介绍:

  • 说明
    mysql中没有获取行号的函数,因此需要通过一些自定义语句来进行获取。通常做法是,通过定义用户变量@rownum来保存表中的数据。通过赋值语句@rownum:=@rownum+1来累加达到递增行号。

    举例
    SELECT @rownum := @rownum+1 AS rownum, table1.*
    FROM (SELECT @rownum:=0) r ,table1;
    原理
    select a.* ,@rownum:=@rownum+1 from a,(select @rownum:=0) r; 后半部分语句的select @rownum:=0 相当于创建了r的新表,其表的列为@rownum,数值为0.
    通过利用变量将@rownum的行进行重新赋值,并显示。可以应用于获取行号或名次排列。
    ————————————————
    版权声明:本文为CSDN博主「狂奔的蜗蜗」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/m0_37540696/article/details/102736339

第 2 页,总共 2 页