Class: SequelRails::Storage::Abstract
- Inherits:
-
Object
- Object
- SequelRails::Storage::Abstract
show all
- Defined in:
- lib/sequel_rails/storage/abstract.rb
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(config) ⇒ Abstract
Returns a new instance of Abstract.
6
7
8
9
|
# File 'lib/sequel_rails/storage/abstract.rb', line 6
def initialize(config)
@config = config
parse_url
end
|
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
4
5
6
|
# File 'lib/sequel_rails/storage/abstract.rb', line 4
def config
@config
end
|
Instance Method Details
#charset ⇒ Object
65
66
67
|
# File 'lib/sequel_rails/storage/abstract.rb', line 65
def charset
@charset ||= config['charset'] || ENV['CHARSET'] || 'utf8'
end
|
#close_connections ⇒ Object
To be overriden by subclasses
37
38
39
|
# File 'lib/sequel_rails/storage/abstract.rb', line 37
def close_connections
true
end
|
#collation ⇒ Object
69
70
71
|
# File 'lib/sequel_rails/storage/abstract.rb', line 69
def collation
@collation ||= config['collation'] || ENV['COLLATION']
end
|
#create ⇒ Object
11
12
13
14
15
|
# File 'lib/sequel_rails/storage/abstract.rb', line 11
def create
res = _create
warn "[sequel] Created database '#{database}'" if res
res
end
|
#database ⇒ Object
41
42
43
|
# File 'lib/sequel_rails/storage/abstract.rb', line 41
def database
@database ||= config['database'] || config['path']
end
|
#drop ⇒ Object
17
18
19
20
21
22
|
# File 'lib/sequel_rails/storage/abstract.rb', line 17
def drop
::Sequel::Model.db.disconnect
res = _drop
warn "[sequel] Dropped database '#{database}'" if res
res
end
|
#dump(filename) ⇒ Object
24
25
26
27
28
|
# File 'lib/sequel_rails/storage/abstract.rb', line 24
def dump(filename)
res = _dump filename
warn "[sequel] Dumped structure of database '#{database}' to '#{filename}'" if res
res
end
|
#host ⇒ Object
53
54
55
|
# File 'lib/sequel_rails/storage/abstract.rb', line 53
def host
@host ||= config['host'] || ''
end
|
#load(filename) ⇒ Object
30
31
32
33
34
|
# File 'lib/sequel_rails/storage/abstract.rb', line 30
def load(filename)
res = _load filename
warn "[sequel] Loaded structure of database '#{database}' from '#{filename}'" if res
res
end
|
#owner ⇒ Object
61
62
63
|
# File 'lib/sequel_rails/storage/abstract.rb', line 61
def owner
@owner ||= config['owner'] || ''
end
|
#password ⇒ Object
49
50
51
|
# File 'lib/sequel_rails/storage/abstract.rb', line 49
def password
@password ||= config['password'] || ''
end
|
#port ⇒ Object
57
58
59
|
# File 'lib/sequel_rails/storage/abstract.rb', line 57
def port
@port ||= config['port'] || ''
end
|
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# File 'lib/sequel_rails/storage/abstract.rb', line 77
def schema_information_dump(migrator, sql_dump)
res = ''
inserts = schema_information_inserts(migrator, sql_dump)
if inserts.any?
res = inserts.join("\n")
unless sql_dump
res = <<-RUBY.strip_heredoc
Sequel.migration do
change do
#{res}
end
end
RUBY
end
end
res
end
|
#search_path ⇒ Object
73
74
75
|
# File 'lib/sequel_rails/storage/abstract.rb', line 73
def search_path
@search_path ||= config['search_path'] || '"$user", public'
end
|
#username ⇒ Object
45
46
47
|
# File 'lib/sequel_rails/storage/abstract.rb', line 45
def username
@username ||= config['username'] || config['user'] || ''
end
|