weixin_39667041
weixin_39667041
2020-12-09 00:49

Howto update mariadb version / create fulltext indices

To get better in contact with #6902 I upgraded to mariadb 10.2.

What I've done

  1. Backup database mysqldump -u root tine20 > tine20.sql
  2. Install mariadb 10.2
  3. Restore database mysql -u root tine20 < tine20.sql
  4. Tried php setup.php --upgrade

The problem I now do have is that it seems that there are no FULLTEXT indices, because I got the following error:


SQLSTATE[HY000]: General error: 1191 Can't find FULLTEXT index matching the column list, query was: 
 SELECT    `cal_events`.*,
          group_concat( DISTINCT `exdate`.`exdate`) AS `exdate`
FROM      `tine20_cal_events`                       AS `cal_events`
LEFT JOIN `tine20_cal_exdate`                       AS `exdate`
ON        `exdate`.`cal_event_id` = `cal_events`.`id`
LEFT JOIN `tine20_cal_attendee` AS `attendee`
ON        `attendee`.`cal_event_id` = `cal_events`.`id`
LEFT JOIN `tine20_container` AS `dispcontainer`
ON        `dispcontainer`.`id` = `attendee`.`displaycontainer_id`
WHERE     (
                    `cal_events`.`is_deleted` = 0)
AND       (
                    `dispcontainer`.`is_deleted` = 0
          OR        `dispcontainer`.`is_deleted`IS NULL)
AND       (((((
                                                            `attendee`.`user_type` = 'user'
                                                  AND       `attendee`.`user_id` = '7acd08f3c120aa04eb60530fd30dcbacac6068fd')
                                        OR        (
                                                            `attendee`.`user_type` = 'groupmember'
                                                  AND       `attendee`.`user_id` = '7acd08f3c120aa04eb60530fd30dcbacac6068fd')))
                    AND       (((
                                                            `attendee`.`status` NOT IN ('DECLINED')
                                                  OR        `attendee`.`status` IS NULL)))
                    AND       ((
                                                  match (`cal_events`.`description`) against ('+ablesen*' IN boolean mode)))))
AND       ((((
                                                  `cal_events`.`rrule` IS NULL))
                    AND       ((
                                                  `cal_events`.`dtstart` < '2018-08-31 22:00:00'))
                    AND       ((
                                                  `cal_events`.`dtend` > '2018-07-31 22:00:00')))
          OR        (((
                                                  `cal_events`.`rrule` IS NOT NULL))
                    AND       ((
                                                  `cal_events`.`dtstart` < '2018-08-31 22:00:00'))
                    AND       (((
                                                            `cal_events`.`rrule_until` = '2018-07-31 22:00:00'))
                              OR        ((
                                                            `cal_events`.`rrule_until` > '2018-07-31 22:00:00'))
                              OR        ((
                                                            `cal_events`.`rrule_until` IS NULL)))))
GROUP BY  `cal_events`.`id` 
.../vendor/zendframework/zendframework1/library/Zend/Db/Statement.php(303): Zend_Db_Statement_Pdo->_execute()
.../vendor/zendframework/zendframework1/library/Zend/Db/Adapter/Abstract.php(480): Zend_Db_Statement->execute()
.../vendor/zendframework/zendframework1/library/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query()
.../Calendar/Backend/Sql.php(230): Zend_Db_Adapter_Pdo_Abstract->query()
.../Tinebase/Controller/Record/Abstract.php(249): Calendar_Backend_Sql->search()
.../Calendar/Controller/Event.php(620): Tinebase_Controller_Record_Abstract->search()
.../Calendar/Frontend/Json.php(337): Calendar_Controller_Event->search()
.../vendor/zendframework/zendframework1/library/Zend/Server/Abstract.php(232): Calendar_Frontend_Json->searchEvents()
.../vendor/zendframework/zendframework1/library/Zend/Json/Server.php(590): Zend_Server_Abstract->_dispatch()
.../vendor/zendframework/zendframework1/library/Zend/Json/Server.php(197): Zend_Json_Server->_handle()
.../Tinebase/Server/Json.php(379): Zend_Json_Server->handle()
.../Tinebase/Server/Json.php(163): Tinebase_Server_Json->_handle()
.../Tinebase/Core.php(260): Tinebase_Server_Json->handle()
.../index.php(24): Tinebase_Core::dispatchRequest()

Now it is clear to me how I can create that Index but is there any path to follow that I missed?

该提问来源于开源项目:tine20/tine20

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • weixin_39917485 weixin_39917485 5月前

    hi Theo,

    you need to create the indices with this CLI command:

    bash
    php setup.php --upgradeMysql564
    
    点赞 评论 复制链接分享
  • weixin_39667041 weixin_39667041 5月前

    That helped, thanks!

    May I extend the wiki? I thought about a migration section with Postgres -> MySQL and Mysql 5.6.4+ | Mariadb 10.0.5+.

    点赞 评论 复制链接分享
  • weixin_39917485 weixin_39917485 5月前

    May I extend the wiki? I thought about a migration section with Postgres -> MySQL and Mysql 5.6.4+ | Mariadb 10.0.5+.

    that would be much appreciated :) thanks for your efforts!

    点赞 评论 复制链接分享
  • weixin_39667041 weixin_39667041 5月前

    Sure thing. :grinning: Chapter has been added.

    点赞 评论 复制链接分享
  • weixin_39917485 weixin_39917485 5月前

    -> https://github.com/tine20/tine20/wiki/EN%3AMysql564--Mariadb1005

    点赞 评论 复制链接分享

相关推荐