Class: ArJdbc::Tasks::OracleDatabaseTasks
Instance Attribute Summary
#configuration
Class Method Summary
collapse
Instance Method Summary
collapse
#charset, #collation, #expand_path, #initialize, #resolve_database, #resolve_database_from_url
Class Method Details
.load_enhanced_structure_dump ⇒ Object
Instance Method Details
#create ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/arjdbc/tasks/oracle_database_tasks.rb', line 7
def create
print "Please provide the SYSTEM password for your oracle installation\n>"
system_password = $stdin.gets.strip
establish_connection(config.merge('username' => 'SYSTEM', 'password' => system_password))
unless ( config = self.config ).key?('username')
config = config_from_url(config['url']) if config['url']
end
begin
connection.execute "CREATE USER #{config['username']} IDENTIFIED BY #{config['password']}"
rescue => e
if e.message =~ /ORA-01920/ connection.execute "ALTER USER #{config['username']} IDENTIFIED BY #{config['password']}"
else
raise e
end
end
connection.execute "GRANT unlimited tablespace TO #{config['username']}"
connection.execute "GRANT create session TO #{config['username']}"
connection.execute "GRANT create table TO #{config['username']}"
connection.execute "GRANT create sequence TO #{config['username']}"
end
|
#drop ⇒ Object
29
30
31
32
33
|
# File 'lib/arjdbc/tasks/oracle_database_tasks.rb', line 29
def drop
self.class.load_enhanced_structure_dump
establish_connection(config)
connection.execute_structure_dump(connection.full_drop)
end
|
#purge ⇒ Object
35
36
37
38
39
40
|
# File 'lib/arjdbc/tasks/oracle_database_tasks.rb', line 35
def purge
self.class.load_enhanced_structure_dump
establish_connection(:test)
connection.execute_structure_dump(connection.full_drop)
connection.execute("PURGE RECYCLEBIN") rescue nil
end
|
#structure_dump(filename) ⇒ Object
42
43
44
45
46
|
# File 'lib/arjdbc/tasks/oracle_database_tasks.rb', line 42
def structure_dump(filename)
self.class.load_enhanced_structure_dump
establish_connection(config)
File.open(filename, "w:utf-8") { |f| f << connection.structure_dump }
end
|
#structure_load(filename) ⇒ Object
48
49
50
51
52
|
# File 'lib/arjdbc/tasks/oracle_database_tasks.rb', line 48
def structure_load(filename)
self.class.load_enhanced_structure_dump
establish_connection(config)
connection.execute_structure_dump(File.read(filename))
end
|