Thread: [Adminer-svn] SF.net SVN: adminer:[978] trunk/adminer/dump.inc.php
Database management in a single PHP file
Brought to you by:
jakubvrana
From: <jak...@us...> - 2009-08-18 10:29:18
|
Revision: 978 http://adminer.svn.sourceforge.net/adminer/?rev=978&view=rev Author: jakubvrana Date: 2009-08-18 10:29:08 +0000 (Tue, 18 Aug 2009) Log Message: ----------- Add tar ending (thanks to Marco Sharper) Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-08-18 09:36:32 UTC (rev 977) +++ trunk/adminer/dump.inc.php 2009-08-18 10:29:08 UTC (rev 978) @@ -99,6 +99,9 @@ foreach ($views as $view) { dump_table($view, $_POST["table_style"], true); } + if ($ext == "tar") { + echo pack("x512"); + } } if ($style == "CREATE+ALTER" && $_POST["format"] != "csv") { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-08-26 11:58:43
|
Revision: 1019 http://adminer.svn.sourceforge.net/adminer/?rev=1019&view=rev Author: jakubvrana Date: 2009-08-26 11:58:35 +0000 (Wed, 26 Aug 2009) Log Message: ----------- Allow 0 in auto_increment column Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-08-26 11:55:45 UTC (rev 1018) +++ trunk/adminer/dump.inc.php 2009-08-26 11:58:35 UTC (rev 1019) @@ -31,6 +31,7 @@ echo "SET NAMES utf8;\n"; echo "SET foreign_key_checks = 0;\n"; echo "SET time_zone = " . $dbh->quote($dbh->result($dbh->query("SELECT @@time_zone"))) . ";\n"; + echo "SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';\n"; echo "\n"; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-08-26 13:22:48
|
Revision: 1021 http://adminer.svn.sourceforge.net/adminer/?rev=1021&view=rev Author: jakubvrana Date: 2009-08-26 13:22:38 +0000 (Wed, 26 Aug 2009) Log Message: ----------- Comment Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-08-26 12:36:59 UTC (rev 1020) +++ trunk/adminer/dump.inc.php 2009-08-26 13:22:38 UTC (rev 1021) @@ -166,7 +166,7 @@ $db_style[] = 'CREATE+ALTER'; $table_style[] = 'CREATE+ALTER'; } -echo "<tr><th>" . lang('Output') . "<td><input type='hidden' name='token' value='$token'>$dump_output\n"; +echo "<tr><th>" . lang('Output') . "<td><input type='hidden' name='token' value='$token'>$dump_output\n"; // token is not needed but checked in bootstrap for all POST data echo "<tr><th>" . lang('Database') . "<td><select name='db_style'>" . optionlist($db_style, (strlen($_GET["db"]) ? '' : 'CREATE')) . "</select>\n"; echo "<tr><th>" . lang('Tables') . "<td><select name='table_style'>" . optionlist($table_style, 'DROP+CREATE') . "</select>\n"; echo "<tr><th>" . lang('Data') . "<td><select name='data_style'>" . optionlist($data_style, 'INSERT') . "</select>\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-08-27 14:14:33
|
Revision: 1029 http://adminer.svn.sourceforge.net/adminer/?rev=1029&view=rev Author: jakubvrana Date: 2009-08-27 14:14:19 +0000 (Thu, 27 Aug 2009) Log Message: ----------- Add forgotten format Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-08-27 08:22:07 UTC (rev 1028) +++ trunk/adminer/dump.inc.php 2009-08-27 14:14:19 UTC (rev 1029) @@ -162,6 +162,7 @@ $table_style[] = 'CREATE+ALTER'; } echo "<tr><th>" . lang('Output') . "<td><input type='hidden' name='token' value='$token'>$dump_output\n"; // token is not needed but checked in bootstrap for all POST data +echo "<tr><th>" . lang('Format') . "<td>$dump_format\n"; echo "<tr><th>" . lang('Database') . "<td><select name='db_style'>" . optionlist($db_style, (strlen($_GET["db"]) ? '' : 'CREATE')) . "</select>\n"; echo "<tr><th>" . lang('Tables') . "<td><select name='table_style'>" . optionlist($table_style, 'DROP+CREATE') . "</select>\n"; echo "<tr><th>" . lang('Data') . "<td><select name='data_style'>" . optionlist($data_style, 'INSERT') . "</select>\n"; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-08-29 13:58:42
|
Revision: 1048 http://adminer.svn.sourceforge.net/adminer/?rev=1048&view=rev Author: jakubvrana Date: 2009-08-29 13:58:35 +0000 (Sat, 29 Aug 2009) Log Message: ----------- USE right after CREATE Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-08-29 13:57:50 UTC (rev 1047) +++ trunk/adminer/dump.inc.php 2009-08-29 13:58:35 UTC (rev 1048) @@ -47,7 +47,7 @@ dump(($style == "CREATE+ALTER" ? preg_replace('~^CREATE DATABASE ~', '\\0IF NOT EXISTS ', $create) : $create) . ";\n"); } if ($style && $_POST["format"] == "sql") { - dump(($style == "CREATE+ALTER" ? "SET @adminer_alter = '';\n" : "") . "USE " . idf_escape($db) . ";\n\n"); + dump("USE " . idf_escape($db) . ";\n" . ($style == "CREATE+ALTER" ? "SET @adminer_alter = '';\n" : "") . "\n"); $out = ""; if ($dbh->server_info >= 5) { foreach (array("FUNCTION", "PROCEDURE") as $routine) { @@ -120,16 +120,16 @@ FETCH tables INTO _table_name, _engine, _table_collation, _table_comment; IF NOT done THEN CASE _table_name"); -$result = $dbh->query($query); -while ($row = $result->fetch_assoc()) { - $comment = $dbh->quote($row["ENGINE"] == "InnoDB" ? preg_replace('~(?:(.+); )?InnoDB free: .*~', '\\1', $row["TABLE_COMMENT"]) : $row["TABLE_COMMENT"]); - dump(" + $result = $dbh->query($query); + while ($row = $result->fetch_assoc()) { + $comment = $dbh->quote($row["ENGINE"] == "InnoDB" ? preg_replace('~(?:(.+); )?InnoDB free: .*~', '\\1', $row["TABLE_COMMENT"]) : $row["TABLE_COMMENT"]); + dump(" WHEN " . $dbh->quote($row["TABLE_NAME"]) . " THEN " . (isset($row["ENGINE"]) ? "IF _engine != '$row[ENGINE]' OR _table_collation != '$row[TABLE_COLLATION]' OR _table_comment != $comment THEN ALTER TABLE " . idf_escape($row["TABLE_NAME"]) . " ENGINE=$row[ENGINE] COLLATE=$row[TABLE_COLLATION] COMMENT=$comment; END IF" : "BEGIN END") . ";"); -} -dump(" + } + dump(" ELSE SET alter_command = CONCAT(alter_command, 'DROP TABLE `', REPLACE(_table_name, '`', '``'), '`;\\n'); END CASE; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-09-01 13:09:24
|
Revision: 1055 http://adminer.svn.sourceforge.net/adminer/?rev=1055&view=rev Author: jakubvrana Date: 2009-09-01 13:09:14 +0000 (Tue, 01 Sep 2009) Log Message: ----------- Export signature Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-09-01 13:09:00 UTC (rev 1054) +++ trunk/adminer/dump.inc.php 2009-09-01 13:09:14 UTC (rev 1055) @@ -1,5 +1,6 @@ <?php $TABLE = $_GET["dump"]; + function tar_file($filename, $contents) { $return = pack("a100a8a8a8a12a12", $filename, 644, 0, 0, decoct(strlen($contents)), decoct(time())); $checksum = 8*32; // space for checksum itself @@ -28,7 +29,8 @@ if ($_POST) { $ext = dump_headers((strlen($TABLE) ? $TABLE : DB), (!strlen(DB) || count((array) $_POST["tables"] + (array) $_POST["data"]) > 1)); if ($_POST["format"] == "sql") { - dump("SET NAMES utf8; + dump("-- Adminer $VERSION dump +SET NAMES utf8; SET foreign_key_checks = 0; SET time_zone = " . $dbh->quote($dbh->result($dbh->query("SELECT @@time_zone"))) . "; SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-09-25 11:29:58
|
Revision: 1146 http://adminer.svn.sourceforge.net/adminer/?rev=1146&view=rev Author: jakubvrana Date: 2009-09-25 11:29:46 +0000 (Fri, 25 Sep 2009) Log Message: ----------- Routines and events checkboxes (thanks to cvicebni ubor) Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-09-25 09:52:24 UTC (rev 1145) +++ trunk/adminer/dump.inc.php 2009-09-25 11:29:46 UTC (rev 1146) @@ -23,10 +23,12 @@ $create = $connection->result($result, 1); dump(($style == "CREATE+ALTER" ? preg_replace('~^CREATE DATABASE ~', '\\0IF NOT EXISTS ', $create) : $create) . ";\n"); } - if ($style && $_POST["format"] == "sql") { - dump("USE " . idf_escape($db) . ";\n" . ($style == "CREATE+ALTER" ? "SET @adminer_alter = '';\n" : "") . "\n"); + if ($_POST["format"] == "sql") { + if ($style) { + dump("USE " . idf_escape($db) . ";\n" . ($style == "CREATE+ALTER" ? "SET @adminer_alter = '';\n" : "") . "\n"); + } $out = ""; - if ($connection->server_info >= 5) { + if ($_POST["routines"]) { foreach (array("FUNCTION", "PROCEDURE") as $routine) { $result = $connection->query("SHOW $routine STATUS WHERE Db = " . $connection->quote($db)); while ($row = $result->fetch_assoc()) { @@ -35,7 +37,7 @@ } } } - if ($connection->server_info >= 5.1) { + if ($_POST["events"]) { $result = $connection->query("SHOW EVENTS"); while ($row = $result->fetch_assoc()) { $out .= ($style != 'DROP+CREATE' ? "DROP EVENT IF EXISTS " . idf_escape($row["Name"]) . ";;\n" : "") @@ -145,6 +147,15 @@ echo "<tr><th>" . lang('Format') . "<td>$dump_format\n"; echo "<tr><th>" . lang('Compression') . "<td>" . ($dump_compress ? $dump_compress : lang('None of the supported PHP extensions (%s) are available.', 'zlib, bz2')) . "\n"; echo "<tr><th>" . lang('Database') . "<td><select name='db_style'>" . optionlist($db_style, (strlen(DB) ? '' : 'CREATE')) . "</select>\n"; +if ($connection->server_info >= 5) { + $objects = array('routines' => lang('Routines')); + if ($connection->server_info >= 5.1) { + $objects['events'] = lang('Events'); + } + foreach ($objects as $key => $val) { + echo " <label><input type='checkbox' name='$key' value='1'" . (strlen($_GET["dump"]) ? "" : " checked") . ">$val</label>"; + } +} echo "<tr><th>" . lang('Tables') . "<td><select name='table_style'>" . optionlist($table_style, 'DROP+CREATE') . "</select>\n"; echo "<tr><th>" . lang('Data') . "<td><select name='data_style'>" . optionlist($data_style, 'INSERT') . "</select>\n"; ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-10-07 10:11:33
|
Revision: 1175 http://adminer.svn.sourceforge.net/adminer/?rev=1175&view=rev Author: jakubvrana Date: 2009-10-07 10:11:27 +0000 (Wed, 07 Oct 2009) Log Message: ----------- Routines and events check Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-10-07 09:20:56 UTC (rev 1174) +++ trunk/adminer/dump.inc.php 2009-10-07 10:11:27 UTC (rev 1175) @@ -146,7 +146,7 @@ echo "<tr><th>" . lang('Format') . "<td>" . $adminer->dumpFormat(0) . "\n"; echo "<tr><th>" . lang('Database') . "<td>" . html_select('db_style', $db_style, (strlen(DB) ? '' : 'CREATE')); if ($connection->server_info >= 5) { - $checked = strlen($_GET["dump"]); + $checked = !strlen($_GET["dump"]); echo checkbox("routines", 1, $checked, lang('Routines')); if ($connection->server_info >= 5.1) { echo checkbox("events", 1, $checked, lang('Events')); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-10-13 12:48:00
|
Revision: 1185 http://adminer.svn.sourceforge.net/adminer/?rev=1185&view=rev Author: jakubvrana Date: 2009-10-13 12:47:53 +0000 (Tue, 13 Oct 2009) Log Message: ----------- Set @adminer_alter with table alter Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-10-13 10:13:16 UTC (rev 1184) +++ trunk/adminer/dump.inc.php 2009-10-13 12:47:53 UTC (rev 1185) @@ -25,8 +25,11 @@ } if ($_POST["format"] == "sql") { if ($style) { - echo "USE " . idf_escape($db) . ";\n" . ($style == "CREATE+ALTER" ? "SET @adminer_alter = '';\n" : "") . "\n"; + echo "USE " . idf_escape($db) . ";\n\n"; } + if (in_array("CREATE+ALTER", array($style, $_POST["table_style"]))) { + echo "SET @adminer_alter = '';\n\n"; + } $out = ""; if ($_POST["routines"]) { foreach (array("FUNCTION", "PROCEDURE") as $routine) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2009-12-11 15:42:22
|
Revision: 1264 http://adminer.svn.sourceforge.net/adminer/?rev=1264&view=rev Author: jakubvrana Date: 2009-12-11 15:42:16 +0000 (Fri, 11 Dec 2009) Log Message: ----------- Events may be broken (bug #2898988) Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2009-12-10 13:00:23 UTC (rev 1263) +++ trunk/adminer/dump.inc.php 2009-12-11 15:42:16 UTC (rev 1264) @@ -42,9 +42,11 @@ } if ($_POST["events"]) { $result = $connection->query("SHOW EVENTS"); - while ($row = $result->fetch_assoc()) { - $out .= ($style != 'DROP+CREATE' ? "DROP EVENT IF EXISTS " . idf_escape($row["Name"]) . ";;\n" : "") - . $connection->result($connection->query("SHOW CREATE EVENT " . idf_escape($row["Name"])), 3) . ";;\n\n"; + if ($result) { + while ($row = $result->fetch_assoc()) { + $out .= ($style != 'DROP+CREATE' ? "DROP EVENT IF EXISTS " . idf_escape($row["Name"]) . ";;\n" : "") + . $connection->result($connection->query("SHOW CREATE EVENT " . idf_escape($row["Name"])), 3) . ";;\n\n"; + } } } if ($out) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jak...@us...> - 2010-05-03 16:09:19
|
Revision: 1513 http://adminer.svn.sourceforge.net/adminer/?rev=1513&view=rev Author: jakubvrana Date: 2010-05-03 16:09:13 +0000 (Mon, 03 May 2010) Log Message: ----------- Ability to not export triggers (thanks to paranoiq) Modified Paths: -------------- trunk/adminer/dump.inc.php Modified: trunk/adminer/dump.inc.php =================================================================== --- trunk/adminer/dump.inc.php 2010-05-03 16:08:46 UTC (rev 1512) +++ trunk/adminer/dump.inc.php 2010-05-03 16:09:13 UTC (rev 1513) @@ -68,7 +68,6 @@ if ($_POST["table_style"] || $_POST["data_style"]) { $views = array(); - //! defer number of rows to JavaScript foreach (table_status() as $row) { $table = (DB == "" || in_array($row["Name"], (array) $_POST["tables"])); $data = (DB == "" || in_array($row["Name"], (array) $_POST["data"])); @@ -81,7 +80,7 @@ if ($data) { dump_data($row["Name"], $_POST["data_style"]); } - if ($table) { + if ($_POST["triggers"]) { dump_triggers($row["Name"], $_POST["table_style"]); } if ($ext == "tar") { @@ -164,17 +163,16 @@ if (!$row) { $row = array("output" => "text", "format" => "sql", "db_style" => (DB != "" ? "" : "CREATE"), "table_style" => "DROP+CREATE", "data_style" => "INSERT"); } +$checked = ($_GET["dump"] == ""); echo "<tr><th>" . lang('Output') . "<td>" . $adminer->dumpOutput(0, $row["output"]) . "\n"; echo "<tr><th>" . lang('Format') . "<td>" . $adminer->dumpFormat(0, $row["format"]) . "\n"; -echo "<tr><th>" . lang('Database') . "<td>" . html_select('db_style', $db_style, $row["db_style"]); -$checked = ($_GET["dump"] == ""); -if (support("routine")) { - echo checkbox("routines", 1, $checked, lang('Routines')); -} -if (support("event")) { - echo checkbox("events", 1, $checked, lang('Events')); -} -echo "<tr><th>" . lang('Tables') . "<td>" . html_select('table_style', $table_style, $row["table_style"]); +echo "<tr><th>" . lang('Database') . "<td>" . html_select('db_style', $db_style, $row["db_style"]) + . (support("routine") ? checkbox("routines", 1, $checked, lang('Routines')) : "") + . (support("event") ? checkbox("events", 1, $checked, lang('Events')) : "") +; +echo "<tr><th>" . lang('Tables') . "<td>" . html_select('table_style', $table_style, $row["table_style"]) + . (support("trigger") ? checkbox("triggers", 1, $row["table_style"], lang('Triggers')) : "") +; echo "<tr><th>" . lang('Data') . "<td>" . html_select('data_style', $data_style, $row["data_style"]); ?> </table> @@ -190,6 +188,7 @@ echo "<th style='text-align: right;'><label>" . lang('Data') . "<input type='checkbox' id='check-data'$checked onclick='formCheck(this, /^data\\[/);'></label>"; echo "</thead>\n"; $views = ""; + //! defer number of rows to JavaScript foreach (table_status() as $row) { $name = $row["Name"]; $prefix = ereg_replace("_.*", "", $name); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |