class SiSU_DbSelect::Case
Public Class Methods
new(opt,conn='',sql_type=:pg)
click to toggle source
# File lib/sisu/db_select.rb, line 118 def initialize(opt,conn='',sql_type=:pg) @opt,@conn,@sql_type=opt,conn,sql_type @db=SiSU_Env::InfoDb.new @file_maint=sql_maintenance_file @sdb={ create: SiSU_DbDBI::Create.new(@opt,@conn,@file_maint,@sql_type), index: SiSU_DbDBI::Index.new(@opt,@conn,@file_maint,@sql_type), drop: SiSU_DbDBI::Drop.new(@opt,@conn,@db,@sql_type), } if (@opt.act[:psql_import][:set]==:on \ || @opt.act[:psql_update][:set]==:on) \ or (@opt.act[:sqlite_import][:set]==:on \ || @opt.act[:sqlite_update][:set]==:on) @sdb[:import]=SiSU_DbDBI::Import.new(@opt,@conn,@file_maint,@sql_type) @sdb[:remove_doc]=SiSU_DbDBI::Remove.new(@opt,@conn,@file_maint,@sql_type) elsif (@opt.act[:psql_remove][:set]==:on \ or @opt.act[:sqlite_remove][:set]==:on) @sdb[:remove_doc]=SiSU_DbDBI::Remove.new(@opt,@conn,@file_maint,@sql_type) end end
Public Instance Methods
cases()
click to toggle source
# File lib/sisu/db_select.rb, line 199 def cases if @opt.act[:psql_drop][:set] ==:on \ or @opt.act[:sqlite_drop][:set] ==:on db_action(@sdb).drop end if @opt.act[:psql_createdb][:set] ==:on \ or @opt.act[:sqlite_createdb][:set] ==:on db_action(@sdb).createdb end if @opt.act[:psql_create][:set] ==:on \ or @opt.act[:sqlite_create][:set] ==:on db_action(@sdb).create end if @opt.act[:psql_update][:set] ==:on \ or @opt.act[:sqlite_update][:set] ==:on db_action(@sdb).update else if @opt.act[:psql_remove][:set] ==:on \ or @opt.act[:sqlite_remove][:set] ==:on db_action(@sdb).remove end if @opt.act[:psql_import][:set] ==:on \ or @opt.act[:sqlite_import][:set] ==:on db_action(@sdb).import end end end
db_exist?()
click to toggle source
# File lib/sisu/db_select.rb, line 138 def db_exist? if @sql_type==:sqlite \ and (not (FileTest.file?(@db.sqlite.db)) \ or FileTest.zero?(@db.sqlite.db)) puts %{no connection with sqlite database established, you may need to run:\n} \ + %{ sisu --sqlite --createall\n} \ + %{ before attempting to populate the database} SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).mark( "\n" \ + 'Attempting to initialize db' + "\n" \ + 'Creating db tables' ) db_action(@sdb).create end if @conn.is_a?(NilClass) if @sql_type==:sqlite puts %{no connection with sqlite database established, you may need to run:\n} \ + %{ sisu --sqlite --createall\n} \ + %{ before attempting to populate the database} SiSU_Utils::CodeMarker.new(__LINE__,__FILE__,:yellow).mark( "\n" \ + 'Attempting to initialize db' + "\n" \ + 'Creating db tables' ) db_action(@sdb).create @db.sqlite.db else puts %{no connection with pg database established, you may need to run:\n} \ + %{ createdb "#{@db.psql.db}"\n} \ + %{ after that don't forget to run:\n} \ + %{ sisu --pg --createall\n} \ + %{ before attempting to populate the database} @db.psql.db end exit end end
sql_maintenance_file()
click to toggle source
# File lib/sisu/db_select.rb, line 175 def sql_maintenance_file file=if @opt.act[:maintenance][:set]==:on if @opt.fns and not @opt.fns.empty? @env=SiSU_Env::InfoEnv.new(@opt.fns) if @opt.fns if @sql_type ==:sqlite puts "\n#{@env.processing_path.sqlite}/#{@opt.fns}.sql" end @db=SiSU_Env::InfoDb.new @job="sqlite3 #{@db.sqlite.db} < #{@env.processing_path.sqlite}/#{@opt.fns}.sql" if @sql_type ==:sqlite File.new("#{@env.processing_path.sqlite}/#{@opt.fns}.sql",'w+') else File.new("#{@env.processing_path.postgresql}/#{@opt.fns}.sql",'w+') end elsif @opt.fns \ and (@opt.act[:sqlite_create][:set] ==:on \ || @opt.act[:psql_create][:set] ==:on) nil #sort variations later else nil end else nil end file end