Sha256: 01d6d9772b942e193118294715fa0f7a4ec55312cf87ad1b0abcb9bc5ee57c9c
Contents?: true
Size: 1.22 KB
Versions: 23
Compression:
Stored size: 1.22 KB
Contents
require 'arjdbc/tasks/jdbc_database_tasks' module ArJdbc module Tasks class MSSQLDatabaseTasks < JdbcDatabaseTasks def purge test = deep_dup(configuration) test_database = resolve_database(test) test['database'] = 'master' establish_connection(test) connection.recreate_database(test_database) end def structure_dump(filename) config = config_from_url_if_needed `smoscript -s #{config['host']} -d #{config['database']} -u #{config['username']} -p #{config['password']} -f #{filename} -A -U` end def structure_load(filename) config = config_from_url_if_needed `sqlcmd -S #{config['host']} -d #{config['database']} -U #{config['username']} -P #{config['password']} -i #{filename}` end private def config_from_url_if_needed config = self.config if config['url'] && ! config.key?('database') config = config_from_url(config['url']) end config end def deep_dup(hash) dup = hash.dup dup.each_pair do |k,v| tv = dup[k] dup[k] = tv.is_a?(Hash) && v.is_a?(Hash) ? deep_dup(tv) : v end dup end end end end
Version data entries
23 entries across 23 versions & 1 rubygems