Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $sql = '';
- $pdo = Propel::getConnection();
- $stmt = $pdo->query('SHOW FULL TABLES');
- $tables = $stmt->fetchAll(PDO::FETCH_NUM);
- foreach($tables as $tbl) {
- $tblName = $tbl[0];
- if('BASE TABLE' !== $tbl[1]) {
- continue;
- }
- $columns = $pdo->query("DESCRIBE `$tblName`")->fetchAll(PDO::FETCH_ASSOC);
- $partBinary = array();
- $partUtf8 = array();
- foreach($columns as $col) {
- $colName = $col['Field'];
- $colType = $col['Type'];
- if(preg_match('/^(TEXT|VARCHAR|CHAR).*/i', $colType)) {
- $partBinary[] = "MODIFY `$colName` $colType CHARACTER SET binary";
- $partUtf8[] = "MODIFY `$colName` $colType CHARACTER SET utf8 COLLATE utf8_general_ci";
- }
- }
- if(count($partBinary)) {
- $sql .= "ALTER TABLE `$tblName` " .PHP_EOL . "\t" . join(', ' . PHP_EOL . "\t" , $partBinary) . PHP_EOL . ';'. PHP_EOL. PHP_EOL;
- $sql .= "ALTER TABLE `$tblName` " .PHP_EOL . "\t" . join(', ' . PHP_EOL . "\t" , $partUtf8) . PHP_EOL . ';'. PHP_EOL. PHP_EOL;
- }
- }
- echo $sql;
Add Comment
Please, Sign In to add comment