使WordPress成为核心

变更集47184


忽略:
时间戳:
2020年5月2日上午04:28:13(4年(之前)
作者:
谢尔盖·比尤科夫
消息:

测试:允许dbDelta()测试(主要)在MySQL 8.0.11+上运行。

  • MySQL 8.0.11更改了混合数据类型数据类型名称到Geom系列后者是首选名称。
  • MySQL 8.0.17删除了对整数数据类型的显示宽度属性的支持。以前使用的默认显示宽度为20位数:BIGINT(20)公司.

受影响的测试现在检查MySQL服务器版本并使用适当的数据类型。

这使得MySQL 8.0.17+上的一个未解决的故障需要在将来解决,原因是相同的BIGINT公司显示宽度差异来自wp_get_db_schema().

道具kaggdesign、ottok、jeremyfelt、SergeyBiryukov。
修复#44384,#49344。请参阅#49364.

文件:
1已编辑

图例:

未修改
补充
远离的
  • trunk/tests/phpunit/tests/dbdelta.php

    47122兰特 r47184  
    1616
    1717    /**
     18*BIGINT数据类型的显示宽度。
     19     *
     20*在MySQL 8.0.17之前,默认宽度为20位:BIGINT(20)。
     21*自MySQL 8.0.17以来,不再支持整数数据类型的显示宽度。
     22     */
     23受保护的$bigint_display_width='';
     24
     25    /**
    1826*确保在运行测试之前加载了升级代码。
    1927     */
     
    3139
    3240全局$wpdb;
     41
     42$db_version=$wpdb->db_versions();
     43
     44if(版本比较($dbversion,'8.0.17','<')){
     45//在MySQL 8.0.17之前,使用的默认宽度为20位:BIGINT(20)。
     46$this->bigint_display_width='(20)';
     47        }
    3348
    3449//强制MyISAM,因为InnoDB在MySQL 5.7中才开始支持FULLTEXT索引。
     
    3752                "
    3853创建表格{$wpdb->prefix}dbdelta_test(
    39 id bigint(20)非空AUTO_INCREMENT,
     54id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    4055column_1 varchar(255)非空,
    4156column_ 2文本,
     
    7994$updates=数据库增量(
    8095“创建表格{$wpdb->prefix}dbdelta_CREATE_test(
    81 id bigint(20)非空AUTO_INCREMENT,
     96id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    8297column_1 varchar(255)非空,
    8398主键(id)
     
    114129            "
    115130创建表格{$wpdb->prefix}dbdelta_test(
    116 身份识别码(20)非空AUTO_INCREMENT,
     131id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    117132column_1 varchar(255)非空,
    118133主键(id),
     
    133148全局$wpdb;
    134149
    135 //id:bigint(20)=>整数(11)
     150//id:bigint=>整数(11)
    136151$updates=dbDelta(
    137152            "
     
    149164阵列(
    150165“{$wpdb->prefix}dbdelta_test.id”
    151 =>“从bigint更改了{$wpdb->prefix}dbdelta_test.id的类型(20)到int(11)“,
     166=>“从bigint更改了{$wpdb->prefix}dbdelta_test.id的类型{$this->bigint_display_width}到int(11)“,
    152167            ),
    153168$个更新
     
    165180            "
    166181创建表格{$wpdb->prefix}dbdelta_test(
    167 id bigint(20)非空AUTO_INCREMENT,
     182身份识别码{$this->bigint_display_width}非空AUTO_INCREMENT,
    168183column_1 varchar(255)非空,
    169184extra_col长文本,
     
    200215            "
    201216创建表格{$wpdb->prefix}dbdelta_test(
    202 id bigint(20)非空AUTO_INCREMENT,
     217id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    203218主键(id),
    204219KEY KEY_1(column_1($this->max_index_length)),
     
    224239            "
    225240创建表格{$wpdb->prefix}dbdelta_test(
    226 id bigint(20)非空AUTO_INCREMENT,
     241id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    227242column_1 varchar(255)非空,
    228243extra_col长文本,
     
    276291            "
    277292创建表格{$wpdb->prefix}dbdelta_test(
    278 id bigint(20)非空AUTO_INCREMENT,
     293id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    279294column_1 varchar(255)非空,
    280295主键(id),
     
    421436            "
    422437创建表格{$wpdb->prefix}dbdelta_test(
    423 id bigint(20)非空AUTO_INCREMENT,
     438id bigint{$this->bigint_display_width}不是空的AUTO_ INCREMENT,
    424439column_1 varchar(255)非空,
    425440column_2小文本,
     
    446461            "
    447462创建表格{$wpdb->prefix}dbdelta_test(
    448 id bigint(20)非空AUTO_INCREMENT,
     463id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    449464column_1 varchar(255)非空,
    450465column_ 2文本,
     
    471486            "
    472487创建表格{$wpdb->prefix}dbdelta_test(
    473 id bigint(20)非空AUTO_INCREMENT,
     488id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    474489column_1 varchar(255)非空,
    475490column_2大文本,
     
    502517            "
    503518创建表格{$wpdb->prefix}dbdelta_test(
    504 id bigint(20)非空AUTO_INCREMENT,
     519id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    505520column_1 varchar(255)非空,
    506521column_2文本,
     
    532547$schema=“
    533548创建表格{$wpdb->prefix}dbdelta_test2(
    534 `id`bigint(20)非空AUTO_INCREMENT,
     549`id`bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    535550`column_1`varchar(255)NOT NULL,
    536551主键(id),
     
    555570全局$wpdb;
    556571
    557 if(版本比较($wpdb->dbversion(),'5.4','<')){
     572$db_version=$wpdb->db_versions();
     573
     574if(版本比较($dbversion,'5.4','<)){
    558575$this->markTestSkipped(“空间索引需要MySQL 5.4及以上版本。”);
    559576        }
    560577
     578$geomcollection_name=“地理收集”;
     579
     580if(版本比较($dbversion,'8.0.11','<')){
     581//在MySQL 8.0.11之前,使用了GeometryCollection数据类型名称。
     582$geomcollection_name='geometrycollection';
     583        }
     584
    561585$模式=
    562586            "
    563587创建表格{$wpdb->prefix}spatial_index_test(
    564 非空间bigint(20)无符号NOT NULL,
    565 空间值几何集合不为空,
     588非空间bigint{$this->bigint_display_width}无符号NOT NULL,
     589空间值{$geomcollection_name}不为空,
    566590KEY non_spatial(非空间),
    567591空间键SPATIAL_KEY(空间值)
     
    579603            "
    580604创建表格{$wpdb->prefix}spatial_index_test(
    581 非空间bigint(20)无符号NOT NULL,
    582 空间值几何集合不为空,
    583 空间值2几何集合不为空,
     605非空间bigint{$this->bigint_display_width}无符号NOT NULL,
     606空间值{$geomcollection_name}不为空,
     607空间值2{$geomcollection_name}不为空,
    584608KEY non_spatial(非空间),
    585609空间键SPATIAL_KEY(空间值)
     
    609633$schema=“
    610634创建表格{$wpdb->prefix}dbdelta_test2(
    611 `id`bigint(20)非空AUTO_INCREMENT,
     635`id`bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    612636`references`varchar(255)NOT NULL,
    613637主键(`id`),
     
    639663            "
    640664创建表格{$wpdb->prefix}dbdelta_test(
    641 id bigint(20)非空AUTO_INCREMENT,
     665id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    642666column_1 varchar(255)非空,
    643667column_2文本,
     
    683707$schema=“
    684708创建表格{$wpdb->prefix}dbdelta_test(
    685 id bigint(20)非空AUTO_INCREMENT,
     709id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    686710column_1 varchar(255)非空,
    687711column_ 2文本,
     
    722746            "
    723747创建表格{$wpdb->prefix}dbdelta_test(
    724 id bigint(20)非空AUTO_INCREMENT,
     748id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    725749column_1 varchar(255)非空,
    726750column_2文本,
     
    745769$schema=“
    746770创建表格{$wpdb->prefix}dbdelta_test(
    747 身份识别码(20)非空AUTO_INCREMENT,
     771id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    748772column_1 varchar(255)非空,
    749773column_2文本,
     
    780804            "
    781805创建表格{$wpdb->prefix}dbdelta_test(
    782 id bigint(20)非空AUTO_INCREMENT,
     806id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    783807column_1 varchar(255)非空,
    784808column_2文本,
     
    804828            "
    805829创建表格{$wpdb->prefix}dbdelta_test(
    806 id bigint(20)非空AUTO_INCREMENT,
     830id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    807831column_1 varchar(255)非空,
    808832column_2文本,
     
    828852            "
    829853创建表{$wpdb->prefix}dbdelta_test(
    830 身份识别码(20)非空AUTO_INCREMENT,
     854id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    831855column_1 varchar(255)非空,
    832856column_2文本,
     
    852876            "
    853877创建表格{$wpdb->prefix}dbdelta_test(
    854 id bigint(20)非空AUTO_INCREMENT,
     878身份识别码{$this->bigint_display_width}非空AUTO_INCREMENT,
    855879column_1 varchar(255)非空,
    856880column_2文本,
     
    876900            "
    877901创建表格{$wpdb->prefix}dbdelta_test(
    878 id bigint(20)非空AUTO_INCREMENT,
     902id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    879903column_1 varchar(255)非空,
    880904column_2文本,
     
    901925            "
    902926创建表格{$wpdb->prefix}dbdelta_test(
    903 id bigint(20)非空AUTO_INCREMENT,
     927id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    904928column_1 varchar(255)非空,
    905929column_2文本,
     
    926950            "
    927951创建表格{$wpdb->prefix}dbdelta_test(
    928 id bigint(20)不是空的AUTO_ INCREMENT,
     952身份识别码{$this->bigint_display_width}非空AUTO_INCREMENT,
    929953column_1 varchar(255)非空,
    930954column_2文本,
     
    949973            "
    950974创建表格{$wpdb->prefix}dbdelta_test(
    951 id bigint(20)非空AUTO_INCREMENT,
     975id bigint{$this->bigint_display_width}不是空的AUTO_ INCREMENT,
    952976column_1 varchar(255)非空,
    953977column_2文本,
     
    967991            "
    968992创建表格{$wpdb->prefix}dbdelta_test(
    969 id bigint(20)非空AUTO_INCREMENT,
     993id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    970994column_1 varchar(255)非空,
    971995column_2文本,
     
    9851009            "
    9861010创建表格{$wpdb->prefix}dbdelta_test(
    987 id bigint(20)非空AUTO_INCREMENT,
     1011id bigint{$this->bigint_display_width}非空AUTO_INCREMENT,
    9881012column_1 varchar(255)非空,
    9891013column_2文本,
注:请参见TracChangeset(跟踪变更集)以获取有关使用变更集查看器的帮助。