--- /dev/null
+namespace :sqlite3 do
+ desc 'Build the sqlite test databases'
+ task :build_databases => :load_connection do
+ file = File.join(SCHEMA_PATH, 'sqlite.sql')
+ dbfile = File.join(PROJECT_ROOT, ENV['cpk_adapter_options_str'])
+ cmd = "mkdir -p #{File.dirname(dbfile)}"
+ puts cmd
+ sh %{ #{cmd} }
+ cmd = "sqlite3 #{dbfile} < #{file}"
+ puts cmd
+ sh %{ #{cmd} }
+ end
+
+ desc 'Drop the sqlite test databases'
+ task :drop_databases => :load_connection do
+ dbfile = ENV['cpk_adapter_options_str']
+ sh %{ rm -f #{dbfile} }
+ end
+
+ desc 'Rebuild the sqlite test databases'
+ task :rebuild_databases => [:drop_databases, :build_databases]
+
+ task :load_connection do
+ require File.join(PROJECT_ROOT, %w[lib adapter_helper sqlite3])
+ spec = AdapterHelper::Sqlite3.load_connection_from_env
+ ENV['cpk_adapter_options_str'] = spec[:dbfile]
+ end
+end