def open_db(database)
unless database == ':memory:'
filename = File.expand_path(database)
directory = File.dirname(filename)
unless File.exist?(directory)
FileUtils.mkdir_p(directory)
File.chmod(0700, directory)
end
end
begin
db = Sequel.amalgalite(:database => filename)
db.test_connection
rescue => e
@log.fatal "unable to open message database: #{e}"
abort
end
migration_dir = File.join(LIB_DIR, 'db', 'migrate')
begin
Sequel::Migrator.apply(db, migration_dir)
rescue => e
@log.fatal "unable to migrate message database: #{e}"
abort
end
require 'larch/db/message'
require 'larch/db/mailbox'
require 'larch/db/account'
db
end