]> git.joonet.de Git - adminer.git/commitdiff
Export views after tables
authorjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Sat, 28 Jul 2007 21:05:53 +0000 (21:05 +0000)
committerjakubvrana <jakubvrana@7c3ca157-0c34-0410-bff1-cbf682f78f5c>
Sat, 28 Jul 2007 21:05:53 +0000 (21:05 +0000)
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@285 7c3ca157-0c34-0410-bff1-cbf682f78f5c

dump.inc.php

index 78690d3554d7ea907a67ae8acfcba9a03fc89f80..aeed6d6d062ba0c561c713e166de646c91056dd9 100644 (file)
@@ -7,7 +7,7 @@ function dump_table($table, $data = true) {
        global $mysql;
        $result = $mysql->query("SHOW CREATE TABLE " . idf_escape($table));
        if ($result) {
-               echo $mysql->result($result, 1) . ";\n\n";
+               echo $mysql->result($result, 1) . ";\n\n"; //! export foreign keys after table definitions
                $result->free();
                if ($data) {
                        $result = $mysql->query("SELECT * FROM " . idf_escape($table)); //! enum and set as numbers, binary as _binary
@@ -52,11 +52,19 @@ function dump($db) {
        }
        
        echo "SET CHARACTER SET utf8;\n\n";
+       $views = array();
        $result = $mysql->query("SHOW TABLE STATUS");
        while ($row = $result->fetch_assoc()) {
-               dump_table($row["Name"], isset($row["Engine"]));
+               if (isset($row["Engine"])) {
+                       dump_table($row["Name"]);
+               } else {
+                       $views[] = $row["Name"];
+               }
        }
        $result->free();
+       foreach ($views as $view) {
+               dump_table($view, false);
+       }
        
        if ($routines[$db]) {
                echo "DELIMITER ;;\n\n" . implode("", $routines[$db]) . "DELIMITER ;\n\n";