Class: MysqlDumper
- Inherits:
-
Object
show all
- Defined in:
- lib/mysql_dumper.rb,
lib/mysql_dumper/version.rb
Defined Under Namespace
Classes: InitFailedException
Constant Summary
collapse
- VERSION =
"0.0.4"
Instance Method Summary
collapse
Constructor Details
Returns a new instance of MysqlDumper.
5
6
7
8
9
10
11
|
# File 'lib/mysql_dumper.rb', line 5
def initialize config
@password = config["password"]
@username = config["username"]
@database = config["database"]
raise InitFailedException, "username is required to init a dumper" unless @username
raise InitFailedException, "database is required to init a dumper" unless @database
end
|
Instance Method Details
#dump_schema_to(path, options = {}) ⇒ Object
13
14
15
16
17
18
19
20
21
|
# File 'lib/mysql_dumper.rb', line 13
def dump_schema_to path, options = {}
preserved_tables = options[:preserve] || []
table_string = preserved_tables.join(" ")
system "mysqldump -u #{@username} -p#{@password} -R -d --skip-comments #{@database} | sed 's/ AUTO_INCREMENT=[0-9]*\\b//' > #{path}"
if ! table_string.strip.empty?
system "mysqldump -u #{@username} -p#{@password} --skip-comments #{@database} #{table_string} >> #{path}"
end
end
|
#dump_to(path) ⇒ Object
23
24
25
|
# File 'lib/mysql_dumper.rb', line 23
def dump_to path
system "mysqldump -u #{@username} -p#{@password} -R --skip-comments #{@database} > #{path}"
end
|
#load_from(path) ⇒ Object
27
28
29
|
# File 'lib/mysql_dumper.rb', line 27
def load_from path
system "cat #{path} | mysql -u #{@username} -p#{@password} #{@database}"
end
|