UpdateDatabase/MysqlEngineCharset.php
[Pman.Core] / UpdateDatabase / MysqlEngineCharset.php
index 6f0b345..354f65f 100644 (file)
@@ -85,7 +85,7 @@ class Pman_Core_UpdateDatabase_MysqlEngineCharset {
                 WHERE
                         CCSA.collation_name = T.table_collation
                     AND
-                        T.table_schema = '{$ce->database()}' -- COLLATE utf8_general_ci
+                        T.table_schema = DATABASE() -- COLLATE utf8_general_ci
                     AND
                         T.table_name = '{$tbl}' -- COLLATE utf8_general_ci
             ");
@@ -114,10 +114,17 @@ class Pman_Core_UpdateDatabase_MysqlEngineCharset {
         $db = DB_DataObject::factory('core_enum');
         $db->query("show variables like 'innodb_file_per_table'");
         $db->fetch();
-        if ($db->Value == 'OFF') {
-            die("Error: set innodb_file_per_table = 1 in my.cnf\n\n");
+        
+        $pg = HTML_FlexyFramework::get()->page;
+        
+        if (empty($pg->opts['skip-mysql-checks'])) {
+            if ($db->Value == 'OFF') {
+                die("Error: set innodb_file_per_table = 1 in my.cnf\n\n");
+            }
+            
         }
         
+        
         // get a list of table views...
         // innodb in single files is far more efficient that MYD or one big innodb file.
         // first check if database is using this format.
@@ -157,6 +164,11 @@ class Pman_Core_UpdateDatabase_MysqlEngineCharset {
                 echo "InnoDB: SKIP $tbl\n";
                 continue;
             }
+            if($ce->engine == 'NDB' ){
+                echo "InnoDB: SKIP $tbl\n";
+                continue;
+            }
+            
             // this used to be utf8_unicode_ci
             //as the default collation for stored procedure parameters is utf8_general_ci and you can't mix collations.