From 96049bf591123333b8a17780544a7951146ef03b Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Fri, 26 Oct 2007 22:41:42 +0100 Subject: db rearranging, create, drop, import (and a renaming: db_dbi from shared_db) --- lib/sisu/v0/db_drop.rb | 129 ++++++++++++++++++++++++------------------------- 1 file changed, 64 insertions(+), 65 deletions(-) (limited to 'lib/sisu/v0/db_drop.rb') diff --git a/lib/sisu/v0/db_drop.rb b/lib/sisu/v0/db_drop.rb index f6bc5022..294e531f 100644 --- a/lib/sisu/v0/db_drop.rb +++ b/lib/sisu/v0/db_drop.rb @@ -60,73 +60,72 @@ module SiSU_DB_drop def initialize(opt,conn='',sql_type='') @opt,@conn,@sql_type=opt,conn,sql_type end - def drop_tables #% drop all tables - begin - case @sql_type - when /sqlite/ - cascade='' - commit=@conn.commit - else - cascade='CASCADE' - commit='' + def drop + def tables #% drop all tables + begin + case @sql_type + when /sqlite/ + cascade='' + commit=@conn.commit + else + cascade='CASCADE' + commit='' + end + @conn.do(%{ + DROP TABLE metadata #{cascade}; + DROP TABLE documents #{cascade}; + DROP TABLE urls #{cascade}; + DROP TABLE endnotes #{cascade}; + DROP TABLE endnotes_asterisk #{cascade}; + DROP TABLE endnotes_plus #{cascade}; + }) + commit + rescue + @conn.do(%{ + DROP TABLE endnotes; + DROP TABLE endnotes_asterisk; + DROP TABLE endnotes_plus; + DROP TABLE urls #{cascade}; + DROP TABLE documents #{cascade}; + DROP TABLE metadata #{cascade}; + }) + ensure + commit end - @conn.do(%{ - DROP TABLE metadata #{cascade}; - DROP TABLE documents #{cascade}; - DROP TABLE endnotes #{cascade}; - DROP TABLE endnotes_asterisk #{cascade}; - DROP TABLE endnotes_plus #{cascade}; - DROP TABLE urls #{cascade}; - }) - commit - rescue end - end - def drop_indexes #% drop all indexes - #@conn.do(%{ - # DROP INDEX object_nr ON documents(ocn); - # DROP INDEX body ON documents(body); - # DROP INDEX clean ON documents(clean); - # DROP INDEX lev1 ON documents(lev1); - # DROP INDEX lev2 ON documents(lev2); - # DROP INDEX lev3 ON documents(lev3); - # DROP INDEX lev4 ON documents(lev4); - # DROP INDEX lev5 ON documents(lev5); - # DROP INDEX lev6 ON documents(lev6); - # DROP INDEX endnote_nr ON endnotes(nr); - # DROP INDEX endnote ON endnotes(body); - # DROP INDEX title ON metadata(title); - # DROP INDEX filename ON metadata(filename) - # /* - # DROP INDEX object_nr ON documents(ocn) CASCADE; - # DROP INDEX body ON documents(body) CASCADE; - # DROP INDEX clean ON documents(clean) CASCADE; - # DROP INDEX lev1 ON documents(lev1) CASCADE; - # DROP INDEX lev2 ON documents(lev2) CASCADE; - # DROP INDEX lev3 ON documents(lev3) CASCADE; - # DROP INDEX lev4 ON documents(lev4) CASCADE; - # DROP INDEX lev5 ON documents(lev5) CASCADE; - # DROP INDEX lev6 ON documents(lev6) CASCADE; - # DROP INDEX endnote_nr ON endnotes(nr) CASCADE; - # DROP INDEX endnote ON endnotes(body) CASCADE; - # DROP INDEX title ON metadata(title) CASCADE; - # DROP INDEX filename ON metadata(filename) CASCADE - # */ - #}) - end - def db_help #% help - puts %{ - not yet implemented - init createall - createtable - recreate\t(destroy and create) - createlex\t() - createmetadata\t() - import\t(import data) - index\t(create index) - droptables\t(where tables made and content imported) - dropall\t(where tables made, content imported and tables indexed) - } + def indexes #% drop all indexes + #@conn.do(%{ + # DROP INDEX object_nr ON documents(ocn); + # DROP INDEX body ON documents(body); + # DROP INDEX clean ON documents(clean); + # DROP INDEX lev1 ON documents(lev1); + # DROP INDEX lev2 ON documents(lev2); + # DROP INDEX lev3 ON documents(lev3); + # DROP INDEX lev4 ON documents(lev4); + # DROP INDEX lev5 ON documents(lev5); + # DROP INDEX lev6 ON documents(lev6); + # DROP INDEX endnote_nr ON endnotes(nr); + # DROP INDEX endnote ON endnotes(body); + # DROP INDEX title ON metadata(title); + # DROP INDEX filename ON metadata(filename) + # /* + # DROP INDEX object_nr ON documents(ocn) CASCADE; + # DROP INDEX body ON documents(body) CASCADE; + # DROP INDEX clean ON documents(clean) CASCADE; + # DROP INDEX lev1 ON documents(lev1) CASCADE; + # DROP INDEX lev2 ON documents(lev2) CASCADE; + # DROP INDEX lev3 ON documents(lev3) CASCADE; + # DROP INDEX lev4 ON documents(lev4) CASCADE; + # DROP INDEX lev5 ON documents(lev5) CASCADE; + # DROP INDEX lev6 ON documents(lev6) CASCADE; + # DROP INDEX endnote_nr ON endnotes(nr) CASCADE; + # DROP INDEX endnote ON endnotes(body) CASCADE; + # DROP INDEX title ON metadata(title) CASCADE; + # DROP INDEX filename ON metadata(filename) CASCADE + # */ + #}) + end + self end end end -- cgit v1.2.3