class SequelRails::Storage::Jdbc
Public Instance Methods
Source
# File lib/sequel_rails/storage/jdbc.rb, line 28 def _create if _is_sqlite? return if in_memory? ::Sequel.connect config['url'] elsif _is_mysql? ::Sequel.connect("#{_root_url}#{_params}") do |db| db.execute("CREATE DATABASE IF NOT EXISTS `#{db_name}` DEFAULT CHARACTER SET #{charset} DEFAULT COLLATE #{collation}") end elsif _is_postgres? adapter = ::SequelRails::Storage::Postgres.new(config) adapter._create end end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 42 def _drop if _is_sqlite? return if in_memory? FileUtils.rm db_name if File.exist? db_name elsif _is_mysql? ::Sequel.connect("#{_root_url}#{_params}") do |db| db.execute("DROP DATABASE IF EXISTS `#{db_name}`") end elsif _is_postgres? adapter = ::SequelRails::Storage::Postgres.new(config) adapter._drop end end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 56 def _dump(filename) if _is_postgres? adapter = ::SequelRails::Storage::Postgres.new(config) adapter._dump(filename) else raise NotImplementedError end end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 4 def _is_mysql? config['adapter'].start_with?('jdbc:mysql') end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 8 def _is_postgres? config['adapter'].start_with?('jdbc:postgresql') end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 12 def _is_sqlite? config['adapter'].start_with?('jdbc:sqlite') end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 65 def _load(filename) if _is_postgres? adapter = ::SequelRails::Storage::Postgres.new(config) adapter._load(filename) else raise NotImplementedError end end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 24 def _params config['url'].scan(/\?.*$/).first end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 16 def _root_url config['url'].scan(%r{^jdbc:mysql://[\w\.]*:?\d*}).first end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 20 def db_name config['database'] end
Source
# File lib/sequel_rails/storage/jdbc.rb, line 74 def schema_information_dump(migrator, sql_dump) if _is_postgres? schema_information_dump_with_search_path(migrator, sql_dump) else super end end
Calls superclass method
SequelRails::Storage::Abstract#schema_information_dump
Private Instance Methods
Source
# File lib/sequel_rails/storage/jdbc.rb, line 84 def collation @collation ||= super || 'utf8_unicode_ci' end
Calls superclass method
SequelRails::Storage::Abstract#collation
Source
# File lib/sequel_rails/storage/jdbc.rb, line 88 def in_memory? return false unless _is_sqlite? database == ':memory:' end