lib/pave/database.rb in pave-0.2.2 vs lib/pave/database.rb in pave-0.3.0
- old
+ new
@@ -2,8 +2,37 @@
module Pave
class Database
include Pave::Shell
+ attr_accessor :name
+ def self.create(name)
+ say ""
+ return say "Options should be given after the database name. For details run: `pave help`" unless name && name.size > 0
+ say "Creating mysql database: #{name}."
+ new(name).setup
+ end
+
+ def initialize(name)
+ @name = name
+ end
+
+ def setup
+ sh "mysql -uroot -e 'CREATE DATABASE #{name}'"
+ end
+
+ def dump
+ say "Creating dump of #{name} at #{Dir.pwd}/#{Time.now.strftime("%Y-%m-%d")}-#{name}.sql.gz"
+ sh "mysqldump -uroot #{name} | gzip > #{Time.now.strftime("%Y-%m-%d")}-#{name}.sql.gz"
+ end
+
+ def download(host, user, password)
+ # Download the project's live database and replace local database.
+ # sh "mysqldump -h#{host} -u#{user} -p#{password} #{name} | mysql -uroot #{name}"
+ end
+
+ def upload
+ # Upload the project's local database and replace the live database.
+ end
end
end