MantisBT - TestLink
View Issue Details
0007340TestLinkDatabase MySQLpublic2015-11-14 11:162015-12-01 12:41
fman 
 
normalmajoralways
newopen 
1.9.12 (2014 Q3) 
 
MySQL 5.7
TBD
0007340: MySQL 5.7 - strict mode - Installation failed due to issues with TIMESTAMP,DATE and DATETIME columns
After a issue report regarding query failed on MySQL 5.7, I've tried a fresh install of Tauriel on MySQL 5.7 installed on Mac OSX with FACTORY CONFIGURATION.
Install failed with lot of issues on '0000-00-00 00:00:00' and similar defaults.

This does not happen with latest MARIADB provided on XAMPP neither with latest XAMPP that contains MySQL (5.6.x).

Choice has been change defaults to CURRENT_TIMESTAMP, or remove it.

not exhaustive test done.
No tags attached.
Issue History
2015-11-14 11:16fmanNew Issue
2015-11-14 11:16fmanProduct Version => 1.9.12 (2014 Q3)
2015-11-14 11:18fmanNote Added: 0024245
2015-11-30 13:08dr.jorgeNote Added: 0024317
2015-11-30 14:00dr.jorgeNote Edited: 0024317bug_revision_view_page.php?bugnote_id=24317#r4705
2015-12-01 06:57fmanNote Added: 0024318
2015-12-01 07:03fmanNote Edited: 0024318bug_revision_view_page.php?bugnote_id=24318#r4707
2015-12-01 09:22dr.jorgeNote Added: 0024320
2015-12-01 09:28dr.jorgeNote Edited: 0024320bug_revision_view_page.php?bugnote_id=24320#r4709
2015-12-01 10:10dr.jorgeNote Added: 0024321
2015-12-01 12:41fmanNote Added: 0024322

Notes
(0024245)
fman   
2015-11-14 11:18   
https://github.com/TestLinkOpenSourceTRMS/testlink-code/commit/e8616b96c9e1d60ce736199b2164da0b11ba3ab4 [^]
(0024317)
dr.jorge   
2015-11-30 13:08   
(edited on: 2015-11-30 14:00)
The latest commit to Git doesn't work for fresh install under MySQL 5.5. We are running here a MySQL 5.5.33 on SuSE and fresh installation from Git fails with a

"mysql error 1067 invalid default value current_timestamp"

First research on the web indicates that it has something to do with basic database configuration and/or changes starting from MySQL 5.6.

I'll do some further investigation and try to find a feasible solution.

EDIT: "default CURRENT_TIMESTAMP" for column type "datetime" has been introduced in MySQL 5.6.5:

https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-5.html#mysqld-5-6-5-data-types [^]

(0024318)
fman   
2015-12-01 06:57   
(edited on: 2015-12-01 07:03)
I've found this
https://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html [^]

I've found just one reference to DATE type but IMHO does not make things clear

here (5.6) there is a section regarding TIMESTAMP
https://dev.mysql.com/doc/refman/5.6/en/upgrading-from-previous-series.html [^]

IMHO simplest way will be to add right SQL for MySQL < 5.7 commented, with a hint

(0024320)
dr.jorge   
2015-12-01 09:22   
(edited on: 2015-12-01 09:28)
"IMHO simplest way will be to add right SQL for MySQL < 5.7 commented, with a hint"

Indeed, sounds like the best solution. For MySQL < 5.6 the "old" way of creating tables is sufficient and can be uncommented if required.

I did some tests with changed configs for MySQL, but these don't resolve the basic problem of raising errors while creating the tables.

I'll consider switching our system to the 5.6.x branch of MySQL. But before I should do a final test on a Test-VM.

(0024321)
dr.jorge   
2015-12-01 10:10   
Did a final retest (manually - not regular installation procedure): sql script from Git is working with MySQL 5.6.27. So for default installations out-of-the-box the minimum MySQL version *seems* to be >=5.6.5 now (with the enhanced options for the "datetime" column type).
(0024322)
fman   
2015-12-01 12:41   
thanks for help