diff --git a/Changelog b/Changelog index daa897a4f..cb4564efc 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,5 @@ 2018-02-09 DariusIII + * Chg: Remove release_search_data table migration as that table is not used anymore. Remove db conversion script. * Chg: Update migrations to properly create fulltext indexes * Mrg: Merge PR #380 by nightah - Properly escape release_naming_regexes 33-35 2018-02-08 DariusIII diff --git a/database/migrations/2018_01_20_200113_create_release_search_data_table.php b/database/migrations/2018_01_20_200113_create_release_search_data_table.php deleted file mode 100644 index b4a556e3b..000000000 --- a/database/migrations/2018_01_20_200113_create_release_search_data_table.php +++ /dev/null @@ -1,38 +0,0 @@ -increments('id'); - $table->integer('releases_id')->unsigned()->index('ix_releasesearch_releases_id')->comment('FK to releases.id'); - $table->string('guid', 50)->index('ix_releasesearch_guid'); - $table->string('name')->default(''); - $table->string('searchname')->default(''); - $table->string('fromname')->nullable(); - $table->foreign('releases_id', 'FK_rsd_releases')->references('id')->on('releases')->onUpdate('CASCADE')->onDelete('CASCADE'); - }); - } - - - /** - * Reverse the migrations. - * - * @return void - */ - public function down() - { - Schema::drop('release_search_data'); - } - -} diff --git a/misc/testing/DB/convert_mysql_tables.php b/misc/testing/DB/convert_mysql_tables.php deleted file mode 100644 index 6fc52b149..000000000 --- a/misc/testing/DB/convert_mysql_tables.php +++ /dev/null @@ -1,192 +0,0 @@ - true]); -$ftinnodb = $pdo->isDbVersionAtLeast('5.6'); - -if (isset($argv[1]) && isset($argv[2]) && $argv[2] == 'fmyisam') { - $tbl = $argv[1]; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=MYISAM ROW_FORMAT=FIXED"); -} elseif (isset($argv[1]) && isset($argv[2]) && $argv[2] == 'dmyisam') { - $tbl = $argv[1]; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=MYISAM ROW_FORMAT=DYNAMIC"); -} elseif (isset($argv[1]) && isset($argv[2]) && $argv[2] == 'cinnodb') { - $tbl = $argv[1]; - if ($ftinnodb || (! $ftinnodb && $tbl !== 'release_search_data' && $tbl !== 'bookinfo' && $tbl !== 'consoleinfo' && $tbl !== 'musicinfo')) { - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=COMPRESSED"); - } else { - printf($cli->header('Not converting bookinfo / consoleinfo / musicinfo / release_search_data as your INNODB version does not support fulltext indexes')); - } -} elseif (isset($argv[1]) && isset($argv[2]) && $argv[2] == 'dinnodb') { - $tbl = $argv[1]; - if ($ftinnodb || (! $ftinnodb && $tbl !== 'release_search_data' && $tbl !== 'bookinfo' && $tbl !== 'consoleinfo' && $tbl !== 'musicinfo')) { - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=DYNAMIC"); - } else { - printf($cli->header('Not converting bookinfo / consoleinfo / musicinfo / release_search_data as your INNODB version does not support fulltext indexes')); - } -} elseif (isset($argv[1]) && $argv[1] == 'fmyisam') { - $sql = 'SHOW TABLE STATUS WHERE (Engine != "MyIsam" OR Row_format != "FIXED") AND Engine != "SPHINX"'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=MYISAM ROW_FORMAT=FIXED"); - } -} elseif (isset($argv[1]) && $argv[1] == 'dmyisam') { - $sql = 'SHOW TABLE STATUS WHERE (Engine != "MyIsam" OR Row_format != "Dynamic") AND Engine != "SPHINX"'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=MYISAM ROW_FORMAT=DYNAMIC"); - } -} elseif (isset($argv[1]) && $argv[1] == 'dinnodb') { - $sql = 'SHOW TABLE STATUS WHERE (Engine != "InnoDB" OR Row_format != "Dynamic") AND Engine != "SPHINX"'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - if ($tbl !== 'release_search_data' && $tbl !== 'bookinfo' && $tbl !== 'consoleinfo' && $tbl !== 'musicinfo') { - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=DYNAMIC"); - } - } - if ($ftinnodb) { - $sql = 'SHOW TABLE STATUS WHERE Name IN ("release_search_data", "bookinfo", "consoleinfo", "musicinfo") AND (Engine != "InnoDB" || Row_format != "Dynamic")'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=DYNAMIC"); - } - } else { - printf($cli->header('Not converting bookinfo / consoleinfo / musicinfo / release_search_data as your INNODB version does not support fulltext indexes')); - } -} elseif (isset($argv[1]) && $argv[1] == 'cinnodb') { - $sql = 'SHOW TABLE STATUS WHERE (Engine != "InnoDB" OR Row_format != "Compressed") AND Engine != "SPHINX"'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - if ($tbl !== 'release_nfos' && $tbl !== 'release_search_data' && $tbl !== 'bookinfo' && $tbl !== 'consoleinfo' && $tbl !== 'musicinfo') { - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=COMPRESSED"); - } - } - $sql = 'SHOW TABLE STATUS WHERE Name = "release_nfos" AND (Engine != "InnoDB" || Row_format != "Dynamic")'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=DYNAMIC"); - } - if ($ftinnodb) { - $sql = 'SHOW TABLE STATUS WHERE Name IN ("release_search_data", "bookinfo", "consoleinfo", "musicinfo") AND (Engine != "InnoDB" || Row_format != "Compressed")'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=COMPRESSED"); - } - } else { - printf($cli->header('Not converting bookinfo / consoleinfo / musicinfo / release_search_data as your INNODB version does not support fulltext indexes')); - } -} elseif (isset($argv[1]) && $argv[1] == 'cinnodb-noparts') { - $sql = 'SHOW TABLE STATUS WHERE (Engine != "InnoDB" OR Row_format != "Compressed") AND Engine != "SPHINX"'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - if ($tbl !== 'release_nfos' && $tbl !== 'release_search_data' && $tbl !== 'bookinfo' && $tbl !== 'consoleinfo' && $tbl !== 'musicinfo' && ! preg_match('/parts/', $tbl)) { - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=COMPRESSED"); - } - } - $sql = 'SHOW TABLE STATUS WHERE Name = "release_nfos" AND (Engine != "InnoDB" || Row_format != "Dynamic")'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=DYNAMIC"); - } - $sql = 'SHOW TABLE STATUS WHERE Name LIKE "parts%" AND (Engine != "MyISAM" || Row_format != "Dynamic")'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=MyISAM ROW_FORMAT=DYNAMIC"); - } - if ($ftinnodb) { - $sql = 'SHOW TABLE STATUS WHERE Name IN ("release_search_data", "bookinfo", "consoleinfo", "musicinfo") AND (Engine != "InnoDB" || Row_format != "Compressed")'; - $tables = $pdo->query($sql); - foreach ($tables as $row) { - $tbl = $row['name']; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=INNODB ROW_FORMAT=COMPRESSED"); - } - } else { - printf($cli->header('Not converting bookinfo / consoleinfo / musicinfo / release_search_data as your INNODB version does not support fulltext indexes')); - } -} elseif (isset($argv[1]) && $argv[1] == 'collections') { - $arr = ['parts', 'binaries', 'collections']; - foreach ($arr as $row) { - $tbl = $row; - printf($cli->header("Converting $tbl")); - $pdo->queryExec("ALTER TABLE $tbl ENGINE=MYISAM ROW_FORMAT=FIXED"); - } -} elseif (isset($argv[1]) && $argv[1] == 'mariadb-tokudb') { - $tables = $pdo->query('SHOW TABLE STATUS WHERE (Engine != "TokuDB" OR Create_options != "`COMPRESSION`=tokudb_lzma") AND Engine != "SPHINX"'); - foreach ($tables as $row) { - $tbl = $row['name']; - if ($tbl !== 'release_search_data') { - printf($cli->header("Converting $tbl")); - $sql = "ALTER TABLE $tbl ENGINE=TokuDB Compression=tokudb_lzma"; - $pdo->queryExec($sql); - $pdo->queryExec("OPTIMIZE TABLE $tbl"); - } - } -} elseif (isset($argv[1]) && $argv[1] == 'tokudb') { - $tables = $pdo->query('SHOW TABLE STATUS WHERE (Engine != "TokuDB" OR ROW_FORMAT="tokudb_lzma" OR Create_options != "`COMPRESSION`=tokudb_lzma") AND Engine != "SPHINX"'); - foreach ($tables as $row) { - $tbl = $row['name']; - if ($tbl !== 'release_search_data') { - printf($cli->header("Converting $tbl")); - $sql = "ALTER TABLE $tbl ENGINE=TokuDB row_format=tokudb_lzma"; - $pdo->queryExec($sql); - $pdo->queryExec("OPTIMIZE TABLE $tbl"); - } - } -} else { - exit($cli->error( - "\nThis script will convert your tables to a new engine/format. Only tables not meeting the new engine/format will be converted.\n" - ."A comparison of these, excluding TokuDB, https://github.com/nZEDb/nZEDb/wiki/MySQL-Storage-Engine-Comparison\n\n" - ."php convert_mysql_tables.php dmyisam ...: Converts all the tables to Myisam Dynamic. This is the default and is recommended where ram is limited.\n" - ."php convert_mysql_tables.php fmyisam ...: Converts all the tables to Myisam Fixed. This can be faster, but to fully convert all tables requires changing varchar columns to char.\n" - ." This will use much more space than dynamic.\n" - ."php convert_mysql_tables.php dinnodb ...: Converts all the tables to InnoDB Dynamic. This is recommended when the total data and indexes can fit into the innodb_buffer_pool.\n" - ." NB if your innodb version < 5.6 bookinfo / consoleinfo / musicinfo / release_search_data will not be converted as fulltext indexes are not supported.\n" - ."php convert_mysql_tables.php cinnodb ...: Converts all the tables to InnoDB Compressed. All tables except releasenfo will be converted to Compressed row format.\n" - ." This is recommended when the total data and indexes can not fit into the innodb_buffer_pool using DYNAMIC row format.\n" - ." NB if your innodb version < 5.6 bookinfo / consoleinfo / musicinfo / release_search_data will not be converted as fulltext indexes are not supported.\n" - ."php convert_mysql_tables.php cinnodb-noparts ...: Converts all the tables to InnoDB Compressed. All tables except parts and releasenfo will be converted to Compressed row format.\n" - ." Alls parts* will be converted to MyISAM Dynamic. This is recommended when using Table Per Group.\n" - ." NB if your innodb version < 5.6 bookinfo / consoleinfo / musicinfo / release_search_data will not be converted as fulltext indexes are not supported.\n" - ."php convert_mysql_tables.php collections ...: Converts collections, binaries, parts to MyIsam.\n" - ."php convert_mysql_tables.php mariadb-tokudb ...: Converts all the tables to MariaDB Tokutek DB. Use this is you installed mariadb-tokudb-engine. \n" - ." The TokuDB engine needs to be activated first.\n" - ." https://mariadb.com/kb/en/how-to-enable-tokudb-in-mariadb/\n" - ." NB release_search_data will not be converted as tokudb does not support fulltext indexes.\n" - ."php convert_mysql_tables.php tokudb ...: Converts all the tables to Tokutek DB. Use this if you downloaded and installed the TokuDB binaries.\n" - ." http://www.tokutek.com/resources/support/gadownloads/\n" - ." NB release_search_data will not be converted as tokudb does not support fulltext indexes.\n" - ."php convert_mysql_tables.php table [ fmyisam, dmyisam, dinnodb, cinnodb ] ...: Converts 1 table to Engine, row_format specified.\n" - ." NB if converting to innodb and your innodb version < 5.6 release_search_data will not be converted as fulltext indexes are not supported.\n" - )); -}