X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FBackPAN%2FIndex.pm;fp=lib%2FBackPAN%2FIndex.pm;h=6b7d0e88f18d71d6281d5e466954e89b4f5c5c95;hb=c4e00aced2b6d3754c5d3c5e20d832d986a7aed5;hp=bb7656350885749c21d49ddab61d9d72279d0ef7;hpb=e819827c0c7ea47aef4897166f3f8a53d4bf98f0;p=catagits%2FBackPAN-Web.git diff --git a/lib/BackPAN/Index.pm b/lib/BackPAN/Index.pm index bb76563..6b7d0e8 100644 --- a/lib/BackPAN/Index.pm +++ b/lib/BackPAN/Index.pm @@ -96,8 +96,6 @@ sub _update_database { $should_update_db = 1 if $db_mtime < $archive_mtime; } - unlink $db_file if -e $db_file and $should_update_db; - $self->schema( BackPAN::Index::Schema->connect("dbi:SQLite:dbname=$db_file") ); return unless $should_update_db; @@ -269,10 +267,16 @@ CREATE TABLE IF NOT EXISTS dists ( ) SQL ); + my %delete_for = ( + files => 'DELETE FROM files', + releases => 'DELETE FROM releases', + dists => 'DELETE FROM dists', + ); my $dbh = $self->_dbh; - for my $sql (values %create_for) { - $dbh->do($sql); + for my $table_name (keys %create_for) { + $dbh->do($create_for{$table_name}); + $dbh->do($delete_for{$table_name}); } $self->schema->rescan;