'max' => 1,
),
-
'json-person' => array(
'desc' => 'Person JSON file',
'default' => '',
$this->checkOpts($opts);
- $this->runExtensions(); // do this first, so the innodb change + utf8 fixes column max sizes
+
+ // do this first, so the innodb change + utf8 fixes column max sizes
+
+ // this will trigger errors about freetext indexes - we will have to remove them manually.?
+ // otherwise we need to do an sql query to find them, then remove them (not really worth it as it only affects really old code..)
+
+ $this->runExtensions();
if (empty($opts['data-only'])) {
}
$db = DB_DataObject::factory('core_enum');
- $db->query("show variables like 'sql_mode'");
+ $db->query("select version() as version");
$db->fetch();
- $modes = explode(",", $db->Value);
-
- if(
- in_array('NO_ZERO_IN_DATE', $modes) ||
- in_array('NO_ZERO_DATE', $modes) ||
- !in_array('ALLOW_INVALID_DATES', $modes)
- ){
- die("Error: set sql_mode include 'ALLOW_INVALID_DATES', remove 'NO_ZERO_IN_DATE' AND 'NO_ZERO_DATE' in my.cnf\n\n");
+ if (version_compare($db->version, '5.7', '>=' )) {
+
+ $db = DB_DataObject::factory('core_enum');
+ $db->query("show variables like 'sql_mode'");
+ $db->fetch();
+
+ $modes = explode(",", $db->Value);
+
+ // these are 'new' problems with mysql.
+ if(
+ in_array('NO_ZERO_IN_DATE', $modes) ||
+ in_array('NO_ZERO_DATE', $modes) ||
+ in_array('STRICT_TRANS_TABLES', $modes) ||
+ !in_array('ALLOW_INVALID_DATES', $modes)
+ ){
+ die("Error: set sql_mode include 'ALLOW_INVALID_DATES', remove 'NO_ZERO_IN_DATE' AND 'STRICT_TRANS_TABLES' AND 'NO_ZERO_DATE' in my.cnf\n\n");
+ }
}
-// STRICT_TRANS_TABLES
+
$done_check = true;;