NB! Antud koodi kopeerimine/mugandamine/käivitamine on selle tegevuse tegija omal vastutusel. Radicenter (ja/või tema töötajad) ei vastuta mingil määral selle koodi,toimivuse ja/või väärkasutuse eest.
NB! Ennem antud skriptide kopeerimist/käivitamist, TULEB KINDLASTI VÕTTA MUUDETAVA BAASI VARUKOOPIA!
1. Tabelite parandamine:
03 |
$db = new mysqli( 'localhost' , 'ANDMEBAASIKASUTAJA' , 'SALASÕNA' ); |
05 |
if ( $db ->connect_error) { |
06 |
die ( "Connection failed: " . $conn ->connect_error); |
08 |
echo "Connected successfully" ; |
11 |
$dbs [] = 'ANDMEBAASINIMI' ; |
15 |
$q = $db ->query( 'show tables' ); |
19 |
while ( $r = $q ->fetch_array()){ |
22 |
foreach ( $tables as $t ){ |
23 |
echo "Repairing $v.$t\n<br>" ; |
24 |
$x = $db ->query( 'REPAIR TABLE `' . $t . '`;' ); |
2. Tabelite storage mootori vahetamine:
03 |
$db = new mysqli( 'localhost' , 'ANDMEBAASIKASUTAJA' , 'SALASÕNA' ); |
05 |
if ( $db ->connect_error) { |
06 |
die ( "Connection failed: " . $conn ->connect_error); |
08 |
echo "Connected successfully" ; |
11 |
$dbs [] = 'ANDMEBAASINIMI' ; |
15 |
$q = $db ->query( 'show tables' ); |
19 |
while ( $r = $q ->fetch_array()){ |
22 |
foreach ( $tables as $t ){ |
23 |
echo "Altering table engine for: $v.$t\n<br>" ; |
24 |
$db ->query( 'ALTER TABLE `' . $t . '` ENGINE=InnoDB;' ); |
NB! Engine tüüp võib olla MYISAM või INNODB või…. – rohkem infot lehel: SIIN
3. Tabelite character set/encoding vahetamine misiganes -> utf8mb4_unicode_ci:
(NB! Ennem selle koodi käivitamist TULEB KINDLASTI TEHA VARUKOOPIA ANDMEBAASIST!)
03 |
$db = new mysqli( 'localhost' , 'ANDMEBAASIKASUTAJA' , 'SALASÕNA' ); |
05 |
if ( $db ->connect_error) { |
06 |
die ( "Connection failed: " . $conn ->connect_error); |
08 |
echo "Connected successfully" ; |
11 |
$dbs [] = 'ANDMEBAASINIMI' ; |
15 |
echo "Altering database character set for: $v\n<br>" ; |
16 |
$db ->query( 'ALTER DATABASE `' . $v . '` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;' ); |
17 |
$q = $db ->query( 'show tables' ); |
21 |
while ( $r = $q ->fetch_array()){ |
24 |
foreach ( $tables as $t ){ |
25 |
echo "Altering table character set for: $v.$t\n<br>" ; |
26 |
$db ->query( 'ALTER TABLE `' . $t . '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;' ); |
29 |
echo "Altering table column_name character sets for all table colums under: $v\n<br>" ; |
30 |
$column_query = $db ->query( "select CONCAT('ALTER TABLE `', TABLE_SCHEMA, '`.`', TABLE_NAME,'` CHANGE ',COLUMN_NAME,' ', COLUMN_NAME, ' ', DATA_TYPE,'(',CHARACTER_MAXIMUM_LENGTH,') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') as column_alter from information_schema.COLUMNS WHERE DATA_TYPE = 'varchar' AND TABLE_SCHEMA = '" . $v . "'" ); |
31 |
foreach ( $column_query as $x ){ |