mirror of
https://github.com/vrana/adminer.git
synced 2025-08-11 17:14:07 +02:00
PostgreSQL: Export ENUM types (bug #587)
This commit is contained in:
@@ -3,7 +3,7 @@ $TABLE = $_GET["dump"];
|
||||
|
||||
if ($_POST && !$error) {
|
||||
$cookie = "";
|
||||
foreach (array("output", "format", "db_style", "routines", "events", "table_style", "auto_increment", "triggers", "data_style") as $key) {
|
||||
foreach (array("output", "format", "db_style", "types", "routines", "events", "table_style", "auto_increment", "triggers", "data_style") as $key) {
|
||||
$cookie .= "&$key=" . urlencode($_POST[$key]);
|
||||
}
|
||||
cookie("adminer_export", substr($cookie, 1));
|
||||
@@ -52,6 +52,15 @@ SET foreign_key_checks = 0;
|
||||
}
|
||||
$out = "";
|
||||
|
||||
if ($_POST["types"]) {
|
||||
foreach (types() as $id => $type) {
|
||||
$enums = type_values($id);
|
||||
if ($enums) {
|
||||
$out .= ($style != 'DROP+CREATE' ? "DROP TYPE IF EXISTS " . idf_escape($type) . ";;\n" : "") . "CREATE TYPE " . idf_escape($type) . " AS ENUM ($enums);\n\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($_POST["routines"]) {
|
||||
foreach (routines() as $row) {
|
||||
$name = $row["ROUTINE_NAME"];
|
||||
@@ -157,6 +166,7 @@ echo "<tr><th>" . lang('Output') . "<td>" . html_select("output", $adminer->dump
|
||||
echo "<tr><th>" . lang('Format') . "<td>" . html_select("format", $adminer->dumpFormat(), $row["format"], 0) . "\n"; // 0 - radio
|
||||
|
||||
echo ($jush == "sqlite" ? "" : "<tr><th>" . lang('Database') . "<td>" . html_select('db_style', $db_style, $row["db_style"])
|
||||
. (support("type") ? checkbox("types", 1, $row["types"], lang('User types')) : "")
|
||||
. (support("routine") ? checkbox("routines", 1, $row["routines"], lang('Routines')) : "")
|
||||
. (support("event") ? checkbox("events", 1, $row["events"], lang('Events')) : "")
|
||||
);
|
||||
|
Reference in New Issue
Block a user