Class: SequelRails::Storage::Jdbc
Instance Attribute Summary
Attributes inherited from Abstract
#config
Instance Method Summary
collapse
Methods inherited from Abstract
#charset, #close_connections, #create, #database, #drop, #host, #initialize, #owner, #password, #port, #username
Instance Method Details
#_create ⇒ Object
21
22
23
24
25
26
27
|
# File 'lib/sequel_rails/storage/jdbc.rb', line 21
def _create
if _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
end
end
|
#_drop ⇒ Object
29
30
31
32
33
34
35
|
# File 'lib/sequel_rails/storage/jdbc.rb', line 29
def _drop
if _is_mysql?
::Sequel.connect("#{_root_url}#{_params}") do |db|
db.execute("DROP DATABASE IF EXISTS `#{db_name}`")
end
end
end
|
#_is_mysql? ⇒ Boolean
5
6
7
|
# File 'lib/sequel_rails/storage/jdbc.rb', line 5
def _is_mysql?
database.match(/^jdbc:mysql/)
end
|
#_params ⇒ Object
17
18
19
|
# File 'lib/sequel_rails/storage/jdbc.rb', line 17
def _params
database.scan(/\?.*$/)
end
|
#_root_url ⇒ Object
9
10
11
|
# File 'lib/sequel_rails/storage/jdbc.rb', line 9
def _root_url
database.scan(/^jdbc:mysql:\/\/\w*:?\d*/)
end
|
#db_name ⇒ Object
13
14
15
|
# File 'lib/sequel_rails/storage/jdbc.rb', line 13
def db_name
database.scan(/^jdbc:mysql:\/\/\w+:?\d*\/(\w+)/).flatten.first
end
|