aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/sisu/v2/db_drop.rb
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2010-04-16 10:12:46 -0400
committerRalph Amissah <ralph@amissah.com>2010-04-16 10:15:13 -0400
commitaa47d1db8596aa65746db05d369441d1def62aa4 (patch)
treec1f1ab145389abd7e30b083f05e6adbcfcfc4dbe /lib/sisu/v2/db_drop.rb
parentdb, shared_html_lite, link back to footnote/endnote reference, fix (diff)
db sql table and column structure changes, name prefix "sisu_v2a_" resulting sisu version bump 2.1.0, plus other lesser fixes
[Note: it is necessary to create new database and tables and to populate them] * db (sql) database table name and column structure changes, new pgsql db name prefix "sisu_v2a_" (version bump), continue to review (db_columns, db_create, db_import, db_sqltxt) * db remove and update fix, match filename for removal with = (not LIKE or ~) * db sqlite, issue with --recreate, bugfix (db_drop)
Diffstat (limited to 'lib/sisu/v2/db_drop.rb')
-rw-r--r--lib/sisu/v2/db_drop.rb80
1 files changed, 50 insertions, 30 deletions
diff --git a/lib/sisu/v2/db_drop.rb b/lib/sisu/v2/db_drop.rb
index 673c5f8f..7189da56 100644
--- a/lib/sisu/v2/db_drop.rb
+++ b/lib/sisu/v2/db_drop.rb
@@ -70,8 +70,8 @@ module SiSU_DB_drop
cascade='CASCADE'
end
@drop_table=[
- "DROP TABLE metadata #{cascade};",
- "DROP TABLE documents #{cascade};",
+ "DROP TABLE metadata_and_text #{cascade};",
+ "DROP TABLE doc_objects #{cascade};",
"DROP TABLE urls #{cascade};",
"DROP TABLE endnotes #{cascade};",
"DROP TABLE endnotes_asterisk #{cascade};",
@@ -84,15 +84,35 @@ module SiSU_DB_drop
msg_sqlite="as not all disk space is recovered after dropping the database << #{@db_info.sqlite.db} >>, you may be better off deleting the file, and recreating it as necessary"
case @sql_type
when /sqlite/
- @conn.transaction
- @drop_table.each do |d|
- @conn.execute(d)
- end
- @conn.commit
puts msg_sqlite
ans=@ans.response?('remove sql database?')
- if ans and File.exist?(@db_info.sqlite.db)
+ if ans \
+ and File.exist?(@db_info.sqlite.db)
+ @conn.close
File.unlink(@db_info.sqlite.db)
+ db=SiSU_Env::Info_db.new
+ conn=db.sqlite.conn_sqlite3
+ sdb=SiSU_DB_DBI::Create.new(@opt,conn,@db_info,@sql_type)
+ sdb_index=SiSU_DB_DBI::Index.new(@opt,conn,@db_info,@sql_type)
+ sdb.output_dir?
+ begin
+ sdb.create_db
+ sdb.create_table.metadata_and_text
+ sdb.create_table.doc_objects
+ sdb.create_table.endnotes
+ sdb.create_table.endnotes_asterisk
+ sdb.create_table.endnotes_plus
+ sdb.create_table.urls
+ sdb_index.create_indexes
+ rescue; SiSU_Errors::Info_error.new($!,$@,'-D').error; @sdb.output_dir?
+ end
+ exit
+ else
+ @conn.transaction
+ @drop_table.each do |d|
+ @conn.execute(d)
+ end
+ @conn.commit
end
else
@drop_table.each do |d|
@@ -115,33 +135,33 @@ module SiSU_DB_drop
end
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 object_nr ON doc_objects(ocn);
+ # DROP INDEX body ON doc_objects(body);
+ # DROP INDEX clean ON doc_objects(clean);
+ # DROP INDEX lev1 ON doc_objects(lev1);
+ # DROP INDEX lev2 ON doc_objects(lev2);
+ # DROP INDEX lev3 ON doc_objects(lev3);
+ # DROP INDEX lev4 ON doc_objects(lev4);
+ # DROP INDEX lev5 ON doc_objects(lev5);
+ # DROP INDEX lev6 ON doc_objects(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 title ON metadata_and_text(title);
+ # DROP INDEX filename ON metadata_and_text(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 object_nr ON doc_objects(ocn) CASCADE;
+ # DROP INDEX body ON doc_objects(body) CASCADE;
+ # DROP INDEX clean ON doc_objects(clean) CASCADE;
+ # DROP INDEX lev1 ON doc_objects(lev1) CASCADE;
+ # DROP INDEX lev2 ON doc_objects(lev2) CASCADE;
+ # DROP INDEX lev3 ON doc_objects(lev3) CASCADE;
+ # DROP INDEX lev4 ON doc_objects(lev4) CASCADE;
+ # DROP INDEX lev5 ON doc_objects(lev5) CASCADE;
+ # DROP INDEX lev6 ON doc_objects(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
+ # DROP INDEX title ON metadata_and_text(title) CASCADE;
+ # DROP INDEX filename ON metadata_and_text(filename) CASCADE
# */
#})
end