123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #!/usr/bin/perl
-
- use strict;
- use JSON;
- use DBI;
- use warnings;
-
- my $conf = load_conf("../etc/autodoc.json");
- my $dbh = sqlconnect($conf->{sql});
-
- my @del = (
- 'pages',
- 'documents',
- 'tags',
- 'words'
- );
-
- foreach ( @del ) {
- print "DELETE FROM $_\n";
- sqlquery($dbh, "DELETE FROM $_");
- }
-
- my $q = sqlquery($dbh, "SHOW TABLE STATUS");
- while(my $h = $q->fetchrow_hashref()) {
- print "="x80 . "\n";
- foreach my $name ( sort keys %{$h} ) {
- next if $name !~ /^(Name|Rows)$/;
- printf("%10s: %s\n",
- $name,
- defined $h->{$name} ? $h->{$name} : 'NULL'
- );
- }
- }
-
-
- sub load_conf {
- my($file) = @_;
-
- my $x='';
-
- open(F,"$file") || fatal_api_error(500,"Failed to load configuration file");
- while(<F>) { $x.=$_; }
- close(F);
-
- return from_json($x);
- }
-
- sub sqlconnect {
- my($sql) = @_;
-
- my $dsn = "DBI:mysql:database=$sql->{base};host=$sql->{host}";
- my $dbh = DBI->connect($dsn, $sql->{user}, $sql->{pass}) || \\
- print STDERR "Failed to connect to database\n";
-
- return $dbh;
- }
-
- sub sqlquery {
- my $dbh = shift;
- my $query = shift;
- my @args = @_;
-
- my $sth = $dbh->prepare($query) || print STDERR $dbh->error();
- $sth->execute(@args) || print STDERR $sth->error();
- return $sth;
- }
|