; Commands
;
; /wipe_all - Close databases and remove them.
; Good for starting over.
; Check if the database exists, if it doesn't, prompt for setup, else bypass it.
; This needs work, need a better way to check if we are already configured or not.
on *:START: {
if ($exists($scriptdirdb.ini)) {
init_db
}
else {
run_setup
}
}
alias run_setup {
echo -a First time databases are being setup (New Setup)...
writeini $qt($scriptdirdb.ini) Initalization Status Configured
writeini $qt($scriptdirdb.ini) Databases Main $mircdirdata\main.db
writeini $qt($scriptdirdb.ini) Databases Roster $mircdirdata\roster.db
writeini $qt($scriptdirdb.ini) Databases Records $mircdirdata\records.db
writeini $qt($scriptdirdb.ini) Databases Shows $mircdirdata\shows.db
var %main_db = $sqlite_open($readini($qt($scriptdirdb.ini, Databases, Main)))
var %shows_db = $sqlite_open($readini($qt($scriptdirdb.ini, Databases, Shows)))
var %records_db = $sqlite_open($readini($qt($scriptdirdb.ini, Databases, Records)))
var %roster_db = $sqlite_open($readini($qt($scriptdirdb.ini, Databases, Roster)))
echo 2 %main_db | echo 2 %shows_db | echo 2 %records_db | echo 2 %roster_db
if (%main_db) {
echo -a Main Database created.
}
else {
echo -a Error # $+ %sqlite_errno | echo -a Error: %sqlite_errstr
}
if (%roster_db) {
echo -a Roster created.
}
else {
echo -a Error # $+ %sqlite_errno | echo -a Error: %sqlite_errstr
}
if (%shows_db) {
echo -a Shows created.
}
else {
echo -a Error # $+ %sqlite_errno | echo -a Error: %sqlite_errstr
}
if (%records_db) {
echo -a Records created.
}
else {
echo -a Error # $+ %sqlite_errno | echo -a Error: %sqlite_errstr
}
}
alias init_db {
if ($exists($mircdirdata\main.db)) {
echo -a Loading configuration...
}
else {
echo -a Aborting... Missing Configuration / Databases
run_setup
}
}
; Debugging Commands (Remove on Release)
alias kill_dll { dll -u msqlite.dll }
alias kill_mrc { unload -rs $qt($scriptdirdatabase.mrc) }
alias kill_all { kill_dll | kill_mrc }
; Done
alias wipe_all {
sqlite_close $readini($qt($scriptdirdb.ini), Databases, Main)
sqlite_close $readini($qt($scriptdirdb.ini), Databases, Roster)
sqlite_close $readini($qt($scriptdirdb.ini), Databases, Shows)
sqlite_close $readini($qt($scriptdirdb.ini), Databases, Records)
var %i = $findfile($scriptdir,*.db,0)
while (%i > 0) {
$findfile($scriptdir,*.db,%i,remove $qt($1-))
dec %i
}
unset %db.active
echo remove %i
}