This test is to check a number of different possibilities when dealing with text being wrapped at the end of an area. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block. This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block. Some examples in a table. a normal paragraph with spaces and normal words a normal paragraph with spaces and normal words areallylongwordwhichisreallymanywords areallylongwordwhichisreallymanywords words with hypenation the activated when doing lots of wrapping interdependancy is a nice long word words with hypenation the activated when not doing lots of wrapping This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is a simple fo block.This is a simple fo block.This is a simple fo block. This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block. This is simple fo block.This is simple fo block.This is simple fo block.This is simple fo block. torage Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/DB/MySQLMigrator.php
blob: 6058e8cafc42d94ead0a3e74c89238951462ef08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
/**
 * @copyright Copyright (c) 2016, ownCloud, Inc.
 *
 * @author Morris Jobke <hey@morrisjobke.de>
 * @author Robin Appelman <robin@icewind.nl>
 * @author Thomas Müller <thomas.mueller@tmit.eu>
 * @author Victor Dubiniuk <dubiniuk@owncloud.com>
 *
 * @license AGPL-3.0
 *
 * This code is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License, version 3,
 * as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License, version 3,
 * along with this program.  If not, see <http://www.gnu.org/licenses/>
 *
 */

namespace OC\DB;

use Doctrine\DBAL\Schema\Schema;
use Doctrine\DBAL\Schema\Table;

class MySQLMigrator extends Migrator {
	/**
	 * @param Schema $targetSchema
	 * @param \Doctrine\DBAL\Connection $connection
	 * @return \Doctrine\DBAL\Schema\SchemaDiff
	 */
	protected function getDiff(Schema $targetSchema, \Doctrine\DBAL\Connection $connection) {
		$platform = $connection->getDatabasePlatform();
		$platform->registerDoctrineTypeMapping('enum', 'string');
		$platform->registerDoctrineTypeMapping('bit', 'string');

		$schemaDiff = parent::getDiff($targetSchema, $connection);

		// identifiers need to be quoted for mysql
		foreach ($schemaDiff->changedTables as $tableDiff) {
			$tableDiff->name = $this->connection->quoteIdentifier($tableDiff->name);
			foreach ($tableDiff->changedColumns as $column) {
				$column->oldColumnName = $this->connection->quoteIdentifier($column->oldColumnName);
			}
		}

		return $schemaDiff;
	}
	
        /**
         * Speed up migration test by disabling autocommit and unique indexes check
         *
         * @param \Doctrine\DBAL\Schema\Table $table
         * @throws \OC\DB\MigrationException
         */
        protected function checkTableMigrate(Table $table) {
                $this->connection->exec('SET autocommit=0');
                $this->connection->exec('SET unique_checks=0');

                try {
                        parent::checkTableMigrate($table);
                } catch (\Exception $e) {
                        $this->connection->exec('SET unique_checks=1');
                        $this->connection->exec('SET autocommit=1');
                        throw new MigrationException($table->getName(), $e->getMessage());
                }
                $this->connection->exec('SET unique_checks=1');
                $this->connection->exec('SET autocommit=1');
        }

}