summaryrefslogtreecommitdiff
path: root/bin/dumpschema.php
diff options
context:
space:
mode:
authorthomascube <thomas@roundcube.net>2008-10-14 12:49:44 +0000
committerthomascube <thomas@roundcube.net>2008-10-14 12:49:44 +0000
commite905db13057c84403d33b7007b4a13e9ffbf2ed0 (patch)
treebffa7c4228d9d3e2e055af1a99dffa0f398585b7 /bin/dumpschema.php
parent871ca9adfedfa0aedf1994af579a5ea6715cff5f (diff)
Set postgres-specific schema options + fix indentation
Diffstat (limited to 'bin/dumpschema.php')
-rw-r--r--bin/dumpschema.php22
1 files changed, 16 insertions, 6 deletions
diff --git a/bin/dumpschema.php b/bin/dumpschema.php
index da82f7392..cbadb00f6 100644
--- a/bin/dumpschema.php
+++ b/bin/dumpschema.php
@@ -1,5 +1,6 @@
<?php
/*
+ #!/usr/bin/php
+-----------------------------------------------------------------------+
| bin/dumpschema.php |
@@ -45,14 +46,21 @@ $options = array(
'quote_identifier' => true,
'force_defaults' => false,
'portability' => false,
- 'disable_smart_seqname' => true,
- 'seqname_format' => '%s'
);
-$schema =& MDB2_Schema::factory($config->get('db_dsnw'), $options);
+$dsnw = $config->get('db_dsnw');
+$dsn_array = MDB2::parseDSN($dsnw);
+
+// set options for postgres databases
+if ($dsn_array['phptype'] == 'pgsql') {
+ $options['disable_smart_seqname'] = true;
+ $options['seqname_format'] = '%s';
+}
+
+$schema =& MDB2_Schema::factory($dsnw, $options);
$schema->db->supported['transactions'] = false;
-
+
// send as text/xml when opened in browser
if ($_SERVER['REMOTE_ADDR'])
header('Content-Type: text/xml');
@@ -68,6 +76,8 @@ else {
);
$definition = $schema->getDefinitionFromDatabase();
+ $definition['charset'] = 'utf8';
+
if (PEAR::isError($definition)) {
$error = $definition->getMessage() . ' ' . $definition->getUserInfo();
}
@@ -81,7 +91,7 @@ else {
$schema->disconnect();
-//if ($error)
-// fputs(STDERR, $error);
+if ($error && !$_SERVER['REMOTE_ADDR'])
+ fputs(STDERR, $error);
?>