diff --git a/core/command/db/convertfromsqlite.php b/core/command/db/convertfromsqlite.php index 4d5122ca2d..cd3e494d7f 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')) {