Пример #1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $file = $input->getArgument('schema-xml');
     $schemaManager = new \OC\DB\MDB2SchemaManager(\OC_DB::getConnection());
     try {
         $result = $schemaManager->updateDbFromStructure($file, true);
         $output->writeln($result);
     } catch (\Exception $e) {
         $output->writeln('Failed to update database structure (' . $e . ')');
     }
 }
Пример #2
0
 public function testAutoIncrement()
 {
     $connection = \OC_DB::getConnection();
     if ($connection->getDatabasePlatform() instanceof OraclePlatform) {
         $this->markTestSkipped('Adding auto increment columns in Oracle is not supported.');
     }
     $manager = new \OC\DB\MDB2SchemaManager($connection);
     $manager->createDbFromStructure(__DIR__ . '/ts-autoincrement-before.xml');
     $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('abc'));
     $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('abc'));
     $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('123'));
     $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('123'));
     $manager->updateDbFromStructure(__DIR__ . '/ts-autoincrement-after.xml');
     $this->assertTrue(true);
 }
Пример #3
0
 public function testAutoIncrement()
 {
     if (\OC::$server->getConfig()->getSystemValue('dbtype', 'sqlite') === 'oci') {
         $this->markTestSkipped('Adding auto increment columns in Oracle is not supported.');
     }
     $connection = \OC_DB::getConnection();
     $manager = new \OC\DB\MDB2SchemaManager($connection);
     $manager->createDbFromStructure(__DIR__ . '/ts-autoincrement-before.xml');
     $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('abc'));
     $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('abc'));
     $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('123'));
     $connection->executeUpdate('insert into `*PREFIX*table` values (?)', array('123'));
     $manager->updateDbFromStructure(__DIR__ . '/ts-autoincrement-after.xml');
     $this->assertTrue(true);
 }
Пример #4
0
	public function testNonOCTables() {
		$manager = new \OC\DB\MDB2SchemaManager($this->connection);
		$manager->updateDbFromStructure(__DIR__ . '/testschema.xml');

		$this->assertTrue(true);
	}