summaryrefslogtreecommitdiffstats
path: root/core/command/db/convertfromsqlite.php
diff options
context:
space:
mode:
Diffstat (limited to 'core/command/db/convertfromsqlite.php')
-rw-r--r--core/command/db/convertfromsqlite.php12
1 files changed, 12 insertions, 0 deletions
diff --git a/core/command/db/convertfromsqlite.php b/core/command/db/convertfromsqlite.php
index 4d5122ca2d7..cd3e494d7f2 100644
--- a/core/command/db/convertfromsqlite.php
+++ b/core/command/db/convertfromsqlite.php
@@ -179,6 +179,18 @@ class ConvertFromSqlite extends Command {
$output->writeln($table);
$this->copyTable($fromDB, $toDB, $table, $output);
}
+ if ($type == 'pgsql') {
+ $sequences = $toDB->getSchemaManager()->listSequences();
+ foreach($sequences as $sequence) {
+ $info = $toDB->fetchAssoc('SELECT table_schema, table_name, column_name '
+ .'FROM information_schema.columns '
+ .'WHERE column_default = ? AND table_catalog = ?',
+ array("nextval('".$sequence->getName()."'::regclass)", $dbname));
+ $table_name = $info['table_name'];
+ $column_name = $info['column_name'];
+ $toDB->executeQuery("SELECT setval('" . $sequence->getName() . "', (SELECT MAX(" . $column_name . ") FROM " . $table_name . ")+1)");
+ }
+ }
// save new database config
$dbhost = $hostname;
if ($input->getOption('port')) {