1<?php 2namespace Fisharebest\Webtrees\Schema; 3 4/** 5 * webtrees: online genealogy 6 * Copyright (C) 2015 webtrees development team 7 * This program is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License for more details. 15 * You should have received a copy of the GNU General Public License 16 * along with this program. If not, see <http://www.gnu.org/licenses/>. 17 */ 18use Fisharebest\Webtrees\Database; 19use PDOException; 20 21/** 22 * Class Migration2 - upgrade the database schema from version 2 to version 2. 23 */ 24class Migration2 implements MigrationInterface { 25 /** {@inheritDoc} */ 26 public function upgrade() { 27 // - create the wt_gedcom_chunk table to import gedcoms in 28 // blocks of data smaller than the max_allowed_packet restriction. 29 30 Database::exec( 31 "CREATE TABLE IF NOT EXISTS `##gedcom_chunk` (" . 32 " gedcom_chunk_id INTEGER AUTO_INCREMENT NOT NULL," . 33 " gedcom_id INTEGER NOT NULL," . 34 " chunk_data MEDIUMBLOB NOT NULL," . 35 " imported BOOLEAN NOT NULL DEFAULT FALSE," . 36 " PRIMARY KEY (gedcom_chunk_id)," . 37 " KEY ix1 (gedcom_id, imported)," . 38 " FOREIGN KEY fk1 (gedcom_id) REFERENCES `##gedcom` (gedcom_id)" . 39 ") COLLATE utf8_unicode_ci ENGINE=InnoDB" 40 ); 41 42 try { 43 Database::exec( 44 "ALTER TABLE `##gedcom` DROP import_gedcom, DROP import_offset" 45 ); 46 } catch (PDOException $ex) { 47 // Perhaps we have already deleted these columns? 48 } 49 } 50} 51