X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Fdbm2mysql.pl;h=a199cf799da385536784ea2696ea8e3bc3e9c170;hb=45e51047c2df703229843193e49fb9829489170f;hp=c64c375e4a40d4bdfa57ba0cb707d88879fcc969;hpb=4948d015422203bf3a4e913f5e3e90c374cfa58e;p=infobot.git diff --git a/scripts/dbm2mysql.pl b/scripts/dbm2mysql.pl index c64c375..a199cf7 100755 --- a/scripts/dbm2mysql.pl +++ b/scripts/dbm2mysql.pl @@ -9,13 +9,13 @@ require "src/modules.pl"; require "src/Misc.pl"; require "src/Files.pl"; &loadDBModules(); -package MYSQL; -require "src/db_mysql.pl"; -package DBM; -require "src/db_dbm.pl"; +require "src/dbi.pl"; + package main; -if (!scalar @ARGV) { +# todo: main() + +if ( !scalar @ARGV ) { print "Usage: dbm2mysql \n"; print "Example: dbm2mysql.pl apt\n"; print "NOTE: suffix '-is' and '-extra' are used.\n"; @@ -26,29 +26,41 @@ my $dbfile = shift; my $key; my %db; -### open all the data... -&loadConfig("files/blootbot.config"); -$dbname = $param{'DBName'}; -my $dbh_mysql = MYSQL::openDB($param{'DBName'}, $param{'SQLUser'}, $param{'SQLPass'}); -DBM::openDB(); +# open dbm. +if ( !dbmopen( %db, $dbfile, 0666 ) ) { + &ERROR("Failed open to dbm file ($dbfile)."); + exit 1; +} +&status("::: opening dbm file: $dbfile"); -print "scalar db == '". scalar(keys %db) ."'.\n"; +# open all the data... +&loadConfig("files/infobot.config"); +$dbname = $param{'DBName'}; +my $dbh_mysql = sqlOpenDB( + $param{'DBName'}, $param{'DBType'}, + $param{'SQLUser'}, $param{'SQLPass'} +); +print "DEBUG: scalar db == '" . scalar( keys %db ) . "'.\n"; -my ($ndef, $i) = (1,1); my $factoid; -foreach $factoid (keys %db) { - foreach (@DBM::extra_format) { - my $val = &DBM::getFactInfo($key, $_, $db{$key}); - if (!defined $val) { - $ndef++; - next; - } - &MYSQL::setFactInfo($key, $_, $val); # fact, type, what - } +my $ndef = 1; +my $i = 1; +foreach $factoid ( keys %db ) { + &sqlReplace( + "factoids", + { + factoid_key => $_, + factoid_value => $db{$_}, + } + ); + $i++; - print "i=$i... " if ($i % 100 == 0); - print "ndef=$ndef... " if ($ndef % 1000 == 0); + print "i=$i... " if ( $i % 100 == 0 ); + print "ndef=$ndef... " if ( $ndef % 1000 == 0 ); } print "Done.\n"; &closeDB(); +dbmclose(%db); + +# vim:ts=4:sw=4:expandtab:tw=80