Projet

Général

Profil

Révision b0f9f60b

Ajouté par Julien Enselme il y a presque 11 ans

Ajout du script permettant de supprimer les préfixes des bases de données.

Voir les différences:

scripts_divers/rm_prefix.pl
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[10];
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();

Formats disponibles : Unified diff