#!/usr/local/bin/perl -w
=head1 NAME
updatem.pl - a script for creation of new database.
=head1 SYNOPSIS
updatem.pl [B<-m> I<metafile>]
=head1 DESCRIPTION
Upadets metainformation in the B<chgk> databse. Uses file
L<./meta> unless [B<-m>] option is used
=head1 BUGS
The database, user and password are hardcoded.
=head1 AUTHOR
Dmitry Rubinstein
=head1 $Id: updatem.pl,v 1.3 2000/10/17 01:53:44 boris Exp $
=cut
use strict;
use vars qw($opt_m);
use Getopt::Std;
use DBI;
MAIN:
{
getopts('m:') or die "Wrong options";
my($source) = $opt_m || 'meta';
my($depth, @depthId);
my($dbh) = DBI->connect("DBI:mysql:chgk", "piataev", "")
or die "Can't connect to DB chgk\n";
open INFD, $source or die "Can't open input file: $!\n";
while (<INFD>) {
my $MetaId;
s/^\[(\d*)\]\t//;
$MetaId = $1;
s/^(\t*)//;
chomp;
$depth = length($1);
my $title = $dbh->quote($_);
my $ParentId = ($depth) ? $depthId[$depth - 1] : 0;
my ($sth) = $dbh->prepare("SELECT Id FROM Tournaments WHERE
MetaId=$MetaId");
$sth->execute;
if ($sth->fetchrow) {
print "$title is already in the DB!\n";
next;
}
$sth = $dbh->prepare("INSERT INTO Tournaments
(Title, ParentId, MetaId, Type)
VALUES ($title, $ParentId, $MetaId, 'ç')");
$sth->execute;
my $Id = $sth->{'mysql_insertid'};
$depthId[$depth] = $Id;
}
$dbh->disconnect;
}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>