diff --git a/core/command/db/converttype.php b/core/command/db/converttype.php index 92ca9e41eb..b4d1f0e2a1 100644 --- a/core/command/db/converttype.php +++ b/core/command/db/converttype.php @@ -266,7 +266,7 @@ class ConvertType extends Command { $this->copyTable($fromDB, $toDB, $table, $input, $output); } if ($input->getArgument('type') === 'pgsql') { - $tools = new \OC\DB\PgSqlTools; + $tools = new \OC\DB\PgSqlTools($this->config); $tools->resynchronizeDatabaseSequences($toDB); } // save new database config diff --git a/lib/private/db/mdb2schemawriter.php b/lib/private/db/mdb2schemawriter.php index 3c91f3c784..aa6d578e9b 100644 --- a/lib/private/db/mdb2schemawriter.php +++ b/lib/private/db/mdb2schemawriter.php @@ -10,19 +10,21 @@ class OC_DB_MDB2SchemaWriter { /** * @param string $file - * @param \Doctrine\DBAL\Schema\AbstractSchemaManager $sm + * @param \OC\DB\Connection $conn * @return bool */ - static public function saveSchemaToFile($file, $conn) { + static public function saveSchemaToFile($file, \OC\DB\Connection $conn) { + $config = \OC::$server->getConfig(); + $xml = new SimpleXMLElement(''); - $xml->addChild('name', OC_Config::getValue( "dbname", "owncloud" )); + $xml->addChild('name', $config->getSystemValue('dbname', 'owncloud')); $xml->addChild('create', 'true'); $xml->addChild('overwrite', 'false'); $xml->addChild('charset', 'utf8'); - + $conn->getConfiguration()-> - setFilterSchemaAssetsExpression('/^'.\OCP\Config::getSystemValue('dbtableprefix'.'/')); - + setFilterSchemaAssetsExpression('/^' . $config->getSystemValue('dbtableprefix') . '/'); + foreach ($conn->getSchemaManager()->listTables() as $table) { self::saveTable($table, $xml->addChild('table')); } diff --git a/lib/private/db/migrator.php b/lib/private/db/migrator.php index 3a178f387e..aecbcf418d 100644 --- a/lib/private/db/migrator.php +++ b/lib/private/db/migrator.php @@ -75,9 +75,9 @@ class Migrator { * @var \Doctrine\DBAL\Schema\Table[] $tables */ $tables = $targetSchema->getTables(); - + $this->connection->getConfiguration()-> - setFilterSchemaAssetsExpression('/^'.\OCP\Config::getSystemValue('dbtableprefix').'/'); + setFilterSchemaAssetsExpression('/^' . $this->config->getSystemValue('dbtableprefix') . '/'); $existingTables = $this->connection->getSchemaManager()->listTableNames(); foreach ($tables as $table) { @@ -162,7 +162,7 @@ class Migrator { protected function getDiff(Schema $targetSchema, \Doctrine\DBAL\Connection $connection) { $connection->getConfiguration()-> - setFilterSchemaAssetsExpression('/^'.\OCP\Config::getSystemValue('dbtableprefix').'/'); + setFilterSchemaAssetsExpression('/^' . $this->config->getSystemValue('dbtableprefix') . '/'); $sourceSchema = $connection->getSchemaManager()->createSchema(); // remove tables we don't know about diff --git a/lib/private/db/pgsqltools.php b/lib/private/db/pgsqltools.php index 6d17f8f40f..3896009add 100644 --- a/lib/private/db/pgsqltools.php +++ b/lib/private/db/pgsqltools.php @@ -8,11 +8,23 @@ */ namespace OC\DB; +use OCP\IConfig; /** * Various PostgreSQL specific helper functions. */ class PgSqlTools { + + /** @var \OCP\IConfig */ + private $config; + + /** + * @param \OCP\IConfig $config + */ + public function __construct(IConfig $config) { + $this->config = $config; + } + /** * @brief Resynchronizes all sequences of a database after using INSERTs * without leaving out the auto-incremented column. @@ -22,7 +34,7 @@ class PgSqlTools { public function resynchronizeDatabaseSequences(Connection $conn) { $databaseName = $conn->getDatabase(); $conn->getConfiguration()-> - setFilterSchemaAssetsExpression('/^'.\OCP\Config::getSystemValue('dbtableprefix').'/'); + setFilterSchemaAssetsExpression('/^' . $this->config->getSystemValue('dbtableprefix') . '/'); foreach ($conn->getSchemaManager()->listSequences() as $sequence) { $sequenceName = $sequence->getName();