Blame view

sources/core/command/db/generatechangescript.php 1.21 KB
31b7f2792   Kload   Upgrade to ownclo...
1
2
3
4
5
6
7
8
9
10
11
12
13
  <?php
  /**
   * Copyright (c) 2013 Bart Visscher <bartv@thisnet.nl>
   * This file is licensed under the Affero General Public License version 3 or
   * later.
   * See the COPYING-README file.
   */
  
  namespace OC\Core\Command\Db;
  
  use Symfony\Component\Console\Command\Command;
  use Symfony\Component\Console\Input\InputArgument;
  use Symfony\Component\Console\Input\InputInterface;
31b7f2792   Kload   Upgrade to ownclo...
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  use Symfony\Component\Console\Output\OutputInterface;
  
  class GenerateChangeScript extends Command {
  	protected function configure() {
  		$this
  			->setName('db:generate-change-script')
  			->setDescription('generates the change script from the current connected db to db_structure.xml')
  			->addArgument(
  				'schema-xml',
  				InputArgument::OPTIONAL,
  				'the schema xml to be used as target schema',
  				\OC::$SERVERROOT . '/db_structure.xml'
  			)
  		;
  	}
  
  	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.')');
  		}
  
  	}
  }