Projet

Général

Profil

Paste
Télécharger (1,11 ko) Statistiques
| Branche: | Révision:

root / scripts_divers / rm_prefix.pl @ c062b91c

1
### Ce script a été écrit afin de supprimer les préfixes des tables des bases données.
2
### Ces préfixes étaient indispensables quand tous les sites étaient dans une même base de données.
3

    
4
use strict;
5
use warnings;
6
use DBI;
7

    
8
my $bd		= $ARGV[0];
9
my $serveur	= 'localhost'; # Il est possible de mettre une adresse IP
10
my $identifiant = 'root';      # identifiant
11
my $motdepasse	= 'tata';
12
my $port	= '';
13

    
14
my ($prefix) = $ARGV[1];
15

    
16
my $dbh = DBI->connect( "DBI:mysql:database=$bd;host=$serveur;port=$port", $identifiant, $motdepasse, { RaiseError => 1, } ) or die "Connection impossible à la base de données $bd !\n $! \n $@\n$DBI::errstr";
17

    
18
my @table_names = $dbh->tables;
19
foreach my $table(@table_names)
20
{
21
    #print $table =~ m/$prefix/;
22
    #print $table . "\n";
23

    
24
    if( $table =~ m/^`$bd`\.`$prefix/ )
25
    {
26
	my ($new_name) = ( $table =~ m/$prefix(.*)`/ );
27
	my $new_table = "`$bd`.`$new_name`";
28
	print $new_name . "\n";
29
	print $new_table . "\n";
30
	$dbh->do('DROP TABLE IF EXISTS ' . $new_name);
31
	$dbh->do('RENAME TABLE ' . $table . ' TO ' . $new_name) or die 'Ne peut exécuter la requête';
32
    }
33
}
34

    
35
$dbh->disconnect();