activerecord-jdbc-adapter 1.3.0.beta1 → 1.3.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +12 -11
- data/.travis.yml +36 -7
- data/Appraisals +3 -3
- data/Gemfile +1 -1
- data/Gemfile.lock +13 -6
- data/History.txt +64 -0
- data/README.md +8 -1
- data/Rakefile +3 -1
- data/gemfiles/rails23.gemfile +1 -1
- data/gemfiles/rails23.gemfile.lock +6 -5
- data/gemfiles/rails30.gemfile +1 -1
- data/gemfiles/rails30.gemfile.lock +7 -6
- data/gemfiles/rails31.gemfile +1 -1
- data/gemfiles/rails31.gemfile.lock +6 -5
- data/gemfiles/rails32.gemfile +1 -1
- data/gemfiles/rails32.gemfile.lock +6 -5
- data/gemfiles/rails40.gemfile +2 -4
- data/gemfiles/rails40.gemfile.lock +37 -51
- data/lib/active_record/connection_adapters/as400_adapter.rb +2 -0
- data/lib/active_record/connection_adapters/db2_adapter.rb +1 -1
- data/lib/arel/visitors/db2.rb +5 -1
- data/lib/arel/visitors/hsqldb.rb +1 -0
- data/lib/arel/visitors/sql_server.rb +55 -13
- data/lib/arjdbc/db2/adapter.rb +197 -227
- data/lib/arjdbc/db2/as400.rb +124 -0
- data/lib/arjdbc/db2/connection_methods.rb +20 -1
- data/lib/arjdbc/derby/adapter.rb +17 -85
- data/lib/arjdbc/derby/connection_methods.rb +2 -1
- data/lib/arjdbc/discover.rb +55 -47
- data/lib/arjdbc/h2/adapter.rb +52 -18
- data/lib/arjdbc/h2/connection_methods.rb +10 -2
- data/lib/arjdbc/hsqldb/adapter.rb +33 -9
- data/lib/arjdbc/hsqldb/connection_methods.rb +10 -2
- data/lib/arjdbc/informix.rb +2 -1
- data/lib/arjdbc/jdbc.rb +5 -1
- data/lib/arjdbc/jdbc/adapter.rb +167 -89
- data/lib/arjdbc/jdbc/adapter_java.jar +0 -0
- data/lib/arjdbc/jdbc/adapter_require.rb +46 -0
- data/lib/arjdbc/jdbc/base_ext.rb +25 -3
- data/lib/arjdbc/jdbc/callbacks.rb +9 -8
- data/lib/arjdbc/jdbc/column.rb +8 -20
- data/lib/arjdbc/jdbc/connection.rb +69 -80
- data/lib/arjdbc/jdbc/extension.rb +6 -8
- data/lib/arjdbc/jdbc/jdbc.rake +3 -141
- data/lib/arjdbc/jdbc/rake_tasks.rb +3 -10
- data/lib/arjdbc/mssql/adapter.rb +108 -34
- data/lib/arjdbc/mssql/connection_methods.rb +3 -1
- data/lib/arjdbc/mssql/limit_helpers.rb +3 -2
- data/lib/arjdbc/mssql/lock_helpers.rb +5 -1
- data/lib/arjdbc/mysql/adapter.rb +127 -70
- data/lib/arjdbc/mysql/connection_methods.rb +5 -2
- data/lib/arjdbc/oracle/adapter.rb +124 -94
- data/lib/arjdbc/oracle/connection_methods.rb +2 -1
- data/lib/arjdbc/postgresql/adapter.rb +99 -67
- data/lib/arjdbc/postgresql/column_cast.rb +3 -5
- data/lib/arjdbc/postgresql/connection_methods.rb +6 -6
- data/lib/arjdbc/railtie.rb +3 -1
- data/lib/arjdbc/sqlite3/adapter.rb +60 -43
- data/lib/arjdbc/sqlite3/connection_methods.rb +9 -9
- data/lib/arjdbc/sybase.rb +1 -1
- data/lib/arjdbc/tasks.rb +13 -0
- data/lib/arjdbc/tasks/database_tasks.rb +50 -0
- data/lib/arjdbc/tasks/databases.rake +89 -0
- data/lib/arjdbc/tasks/databases3.rake +203 -0
- data/lib/arjdbc/tasks/databases4.rake +39 -0
- data/lib/arjdbc/tasks/db2_database_tasks.rb +104 -0
- data/lib/arjdbc/tasks/derby_database_tasks.rb +95 -0
- data/lib/arjdbc/tasks/h2_database_tasks.rb +29 -0
- data/lib/arjdbc/tasks/hsqldb_database_tasks.rb +70 -0
- data/lib/arjdbc/tasks/jdbc_database_tasks.rb +122 -0
- data/lib/arjdbc/tasks/mssql_database_tasks.rb +36 -0
- data/lib/arjdbc/tasks/oracle/enhanced_structure_dump.rb +297 -0
- data/lib/arjdbc/tasks/oracle_database_tasks.rb +62 -0
- data/lib/arjdbc/version.rb +1 -1
- data/pom.xml +11 -12
- data/rails_generators/jdbc_generator.rb +1 -1
- data/rails_generators/templates/config/initializers/jdbc.rb +8 -5
- data/rails_generators/templates/lib/tasks/jdbc.rake +7 -4
- data/rakelib/02-test.rake +42 -15
- data/rakelib/compile.rake +29 -2
- data/rakelib/db.rake +2 -1
- data/rakelib/rails.rake +23 -6
- data/src/java/arjdbc/ArJdbcModule.java +175 -0
- data/src/java/arjdbc/db2/DB2Module.java +2 -1
- data/src/java/arjdbc/derby/DerbyModule.java +5 -24
- data/src/java/arjdbc/hsqldb/HSQLDBModule.java +3 -2
- data/src/java/arjdbc/jdbc/AdapterJavaService.java +3 -46
- data/src/java/arjdbc/jdbc/RubyJdbcConnection.java +1001 -259
- data/src/java/arjdbc/mssql/MSSQLModule.java +2 -1
- data/src/java/arjdbc/mysql/MySQLModule.java +4 -3
- data/src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java +12 -7
- data/src/java/arjdbc/oracle/OracleModule.java +2 -1
- data/src/java/arjdbc/sqlite3/SQLite3Module.java +2 -1
- data/src/java/arjdbc/sqlite3/SQLite3RubyJdbcConnection.java +12 -0
- data/test/db/db2.rb +14 -7
- data/test/db/db2/rake_test.rb +82 -0
- data/test/db/db2/rake_test_data.sql +35 -0
- data/test/db/db2/simple_test.rb +20 -0
- data/test/db/db2/unit_test.rb +3 -1
- data/test/db/derby.rb +7 -5
- data/test/db/derby/rake_test.rb +96 -0
- data/test/db/derby/simple_test.rb +10 -2
- data/test/db/h2.rb +6 -8
- data/test/db/h2/identity_column_test.rb +35 -0
- data/test/db/h2/offset_test.rb +49 -0
- data/test/db/h2/rake_test.rb +98 -0
- data/test/db/h2/schema_dump_test.rb +5 -1
- data/test/db/hsqldb.rb +6 -10
- data/test/db/hsqldb/rake_test.rb +101 -0
- data/test/db/hsqldb/schema_dump_test.rb +5 -1
- data/test/db/hsqldb/simple_test.rb +8 -0
- data/test/db/jndi_config.rb +1 -3
- data/test/db/jndi_pooled_config.rb +1 -3
- data/test/db/mssql/limit_offset_test.rb +23 -14
- data/test/db/mssql/rake_test.rb +143 -0
- data/test/db/mysql/_rails_test_mysql.32.out +1069 -1252
- data/test/db/mysql/nonstandard_primary_key_test.rb +21 -24
- data/test/db/mysql/rake_test.rb +97 -0
- data/test/db/mysql/schema_dump_test.rb +11 -11
- data/test/db/mysql/simple_test.rb +52 -3
- data/test/db/mysql/statement_escaping_test.rb +46 -0
- data/test/db/oracle/rake_test.rb +100 -0
- data/test/db/oracle/simple_test.rb +48 -0
- data/test/db/postgres/_rails_test_postgres.32.out +998 -1370
- data/test/db/postgres/active_schema_unit_test.rb +68 -0
- data/test/db/postgres/connection_test.rb +10 -2
- data/test/db/postgres/data_types_test.rb +2 -2
- data/test/db/postgres/ltree_test.rb +6 -5
- data/test/db/postgres/native_types_test.rb +1 -5
- data/test/db/postgres/rake_test.rb +117 -0
- data/test/db/postgres/schema_dump_test.rb +9 -2
- data/test/db/postgres/schema_test.rb +4 -2
- data/test/db/postgres/simple_test.rb +57 -16
- data/test/db/sqlite3.rb +3 -10
- data/test/db/sqlite3/_rails_test_sqlite3.32.out +1070 -1298
- data/test/db/sqlite3/rake_test.rb +71 -0
- data/test/db/sqlite3/simple_test.rb +9 -9
- data/test/has_many_through.rb +4 -1
- data/test/jdbc/db2.rb +14 -1
- data/test/jdbc_column_test.rb +23 -0
- data/test/{generic_jdbc_connection_test.rb → jdbc_connection_test.rb} +22 -17
- data/test/jndi_callbacks_test.rb +26 -28
- data/test/jndi_test.rb +7 -16
- data/test/models/data_types.rb +2 -1
- data/test/models/thing.rb +1 -0
- data/test/rails/mysql.rb +13 -0
- data/test/rails/sqlite3/version.rb +6 -0
- data/test/rails_stub.rb +31 -0
- data/test/rake_test_support.rb +298 -0
- data/test/serialize.rb +2 -4
- data/test/{helper.rb → shared_helper.rb} +0 -0
- data/test/simple.rb +167 -93
- data/test/test_helper.rb +52 -16
- metadata +388 -354
- data/lib/pg.rb +0 -26
- data/test/abstract_db_create.rb +0 -139
- data/test/activerecord/connection_adapters/type_conversion_test.rb +0 -36
- data/test/db/mssql/db_create_test.rb +0 -29
- data/test/db/mysql/db_create_test.rb +0 -33
- data/test/db/postgres/db_create_test.rb +0 -44
- data/test/db/postgres/db_drop_test.rb +0 -17
data/lib/pg.rb
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# Stub library for postgresql -- allows Rails to load
|
2
|
-
# postgresql_adapter without error. Other than postgres-pr, there's no
|
3
|
-
# other way to use PostgreSQL on JRuby anyway, right? If you've
|
4
|
-
# installed ar-jdbc you probably want to use that to connect to pg.
|
5
|
-
#
|
6
|
-
# If by chance this library is installed in another Ruby and this file
|
7
|
-
# got required then we'll just continue to try to load the next pg.rb
|
8
|
-
# in the $LOAD_PATH.
|
9
|
-
|
10
|
-
unless defined?(JRUBY_VERSION)
|
11
|
-
gem 'pg' if respond_to?(:gem) # make sure pg gem is activated
|
12
|
-
after_current_file = false
|
13
|
-
$LOAD_PATH.each do |p|
|
14
|
-
require_file = File.join(p, 'pg.rb')
|
15
|
-
|
16
|
-
if File.expand_path(require_file) == File.expand_path(__FILE__)
|
17
|
-
after_current_file = true
|
18
|
-
next
|
19
|
-
end
|
20
|
-
|
21
|
-
if after_current_file && File.exist?(require_file)
|
22
|
-
load require_file
|
23
|
-
break
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
data/test/abstract_db_create.rb
DELETED
@@ -1,139 +0,0 @@
|
|
1
|
-
require 'test_helper'
|
2
|
-
require 'rake'
|
3
|
-
|
4
|
-
module Rails
|
5
|
-
class Configuration; end unless const_defined?(:Configuration)
|
6
|
-
class Application
|
7
|
-
def self.config
|
8
|
-
@config ||= Object.new
|
9
|
-
end
|
10
|
-
def self.paths
|
11
|
-
@paths ||= Hash.new { [] }
|
12
|
-
end
|
13
|
-
end
|
14
|
-
def self.application
|
15
|
-
Rails::Application
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
module AbstractDbCreate
|
20
|
-
def self.included(base)
|
21
|
-
base.module_eval { include Rake::DSL } if defined?(Rake::DSL)
|
22
|
-
end
|
23
|
-
|
24
|
-
def setup
|
25
|
-
@prev_app = Rake.application
|
26
|
-
Rake.application = Rake::Application.new
|
27
|
-
verbose(true)
|
28
|
-
do_setup
|
29
|
-
end
|
30
|
-
|
31
|
-
def do_setup(env = 'unittest', db = 'test_rake_db_create')
|
32
|
-
@env = env
|
33
|
-
@prev_configs = ActiveRecord::Base.configurations
|
34
|
-
ActiveRecord::Base.connection.disconnect!
|
35
|
-
@db_name = db
|
36
|
-
setup_rails
|
37
|
-
set_rails_constant("env", @env)
|
38
|
-
set_rails_constant("root", ".")
|
39
|
-
load File.dirname(__FILE__) + '/../lib/arjdbc/jdbc/jdbc.rake' if defined?(JRUBY_VERSION)
|
40
|
-
task :environment do
|
41
|
-
ActiveRecord::Base.configurations = configurations
|
42
|
-
@full_env_loaded = true
|
43
|
-
end
|
44
|
-
task :rails_env do
|
45
|
-
@rails_env_set = true
|
46
|
-
end
|
47
|
-
end
|
48
|
-
|
49
|
-
def teardown
|
50
|
-
Rake::Task["db:drop"].invoke
|
51
|
-
Rake.application = @prev_app
|
52
|
-
restore_rails
|
53
|
-
ActiveRecord::Base.configurations = @prev_configs
|
54
|
-
ActiveRecord::Base.establish_connection(db_config)
|
55
|
-
@rails_env_set = nil
|
56
|
-
@full_env_loaded = nil
|
57
|
-
end
|
58
|
-
|
59
|
-
def setup_rails
|
60
|
-
if ActiveRecord::VERSION::MAJOR <= 2
|
61
|
-
setup_rails2
|
62
|
-
else
|
63
|
-
setup_rails3
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
def configurations
|
68
|
-
db_name = @db_name
|
69
|
-
db_config = self.db_config
|
70
|
-
db_config = db_config.merge({:database => db_name}) if db_name
|
71
|
-
db_config.stringify_keys!
|
72
|
-
@configs = { @env => db_config }
|
73
|
-
@configs["test"] = @configs[@env].dup
|
74
|
-
@configs
|
75
|
-
end
|
76
|
-
|
77
|
-
def setup_rails2
|
78
|
-
configs = configurations
|
79
|
-
Rails::Configuration.module_eval do
|
80
|
-
define_method(:database_configuration) { configs }
|
81
|
-
end
|
82
|
-
ar_version = $LOADED_FEATURES.grep(%r{active_record/version}).first
|
83
|
-
ar_lib_path = $LOAD_PATH.detect {|p| p if File.exist?File.join(p, ar_version)}
|
84
|
-
# if the old style finder didn't work, assume we have the absolute path already
|
85
|
-
if ar_lib_path.nil? && File.exist?(ar_version)
|
86
|
-
ar_lib_path = ar_version.sub(%r{/active_record/version.*}, '')
|
87
|
-
end
|
88
|
-
ar_lib_path = ar_lib_path.sub(%r{activerecord/lib}, 'railties/lib') # edge rails
|
89
|
-
rails_lib_path = ar_lib_path.sub(/activerecord-([\d\.]+)/, 'rails-\1') # gem rails
|
90
|
-
load "#{rails_lib_path}/tasks/databases.rake"
|
91
|
-
end
|
92
|
-
|
93
|
-
def setup_rails3
|
94
|
-
configs = configurations
|
95
|
-
(class << Rails::Application.config; self ; end).instance_eval do
|
96
|
-
define_method(:database_configuration) { configs }
|
97
|
-
end
|
98
|
-
require 'pathname'
|
99
|
-
ar_version = $LOADED_FEATURES.grep(%r{active_record/version}).first
|
100
|
-
ar_lib_path = $LOAD_PATH.detect do |p|
|
101
|
-
Pathname.new(p).absolute? && ar_version.start_with?(p) ||
|
102
|
-
File.exist?(File.join(p, ar_version))
|
103
|
-
end
|
104
|
-
load "#{ar_lib_path}/active_record/railties/databases.rake"
|
105
|
-
end
|
106
|
-
|
107
|
-
def set_rails_constant(name, value)
|
108
|
-
cname ="RAILS_#{name.upcase}"
|
109
|
-
@constants ||= {}
|
110
|
-
@constants[name] = Object.const_get(cname) rescue nil
|
111
|
-
silence_warnings { Object.const_set(cname, value) }
|
112
|
-
Rails.instance_eval do
|
113
|
-
if instance_methods(false).include?(name)
|
114
|
-
alias_method "orig_#{name}", name
|
115
|
-
define_method(name) { value }
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
119
|
-
|
120
|
-
def restore_rails
|
121
|
-
@constants.each do |key,value|
|
122
|
-
silence_warnings { Object.const_set("RAILS_#{key.upcase}", value) }
|
123
|
-
Rails.instance_eval do
|
124
|
-
if instance_methods(false).include?(name)
|
125
|
-
remove_method name
|
126
|
-
alias_method name, "orig_#{name}"
|
127
|
-
end
|
128
|
-
end
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
def silence_warnings
|
133
|
-
prev, $VERBOSE = $VERBOSE, nil
|
134
|
-
yield
|
135
|
-
ensure
|
136
|
-
$VERBOSE = prev
|
137
|
-
end
|
138
|
-
|
139
|
-
end
|
@@ -1,36 +0,0 @@
|
|
1
|
-
require 'java'
|
2
|
-
require 'models/data_types'
|
3
|
-
require 'arjdbc'
|
4
|
-
require 'test/unit'
|
5
|
-
|
6
|
-
class TypeConversionTest < Test::Unit::TestCase
|
7
|
-
|
8
|
-
TEST_INT = 987654321
|
9
|
-
|
10
|
-
TEST_TIME = Time.at(1169964202).gmtime
|
11
|
-
|
12
|
-
def self.startup
|
13
|
-
DbTypeMigration.up
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.shutdown
|
17
|
-
DbTypeMigration.down
|
18
|
-
end
|
19
|
-
|
20
|
-
def setup
|
21
|
-
DbType.create(
|
22
|
-
:sample_timestamp => TEST_TIME,
|
23
|
-
:sample_decimal => TEST_INT) # DECIMAL(9,0)
|
24
|
-
end
|
25
|
-
|
26
|
-
def test_timestamp
|
27
|
-
type = DbType.first
|
28
|
-
assert_equal TEST_TIME, type.sample_timestamp.getutc
|
29
|
-
end
|
30
|
-
|
31
|
-
def test_decimal
|
32
|
-
type = DbType.first
|
33
|
-
assert_equal TEST_INT, type.sample_decimal
|
34
|
-
end
|
35
|
-
|
36
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
require 'abstract_db_create'
|
2
|
-
require 'db/mssql'
|
3
|
-
|
4
|
-
class MSSQLDbCreateTest < Test::Unit::TestCase
|
5
|
-
include AbstractDbCreate
|
6
|
-
|
7
|
-
def db_config
|
8
|
-
MSSQL_CONFIG
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_rake_db_create
|
12
|
-
begin
|
13
|
-
Rake::Task["db:create"].invoke
|
14
|
-
rescue => e
|
15
|
-
if e.message =~ /CREATE DATABASE permission denied/
|
16
|
-
puts "\nwarning: db:create test skipped; add 'dbcreator' role to user '#{db_config[:username]}' to run"
|
17
|
-
return
|
18
|
-
end
|
19
|
-
end
|
20
|
-
ActiveRecord::Base.establish_connection(db_config.merge(:database => "master"))
|
21
|
-
if ActiveRecord::Base.connection.send(:sqlserver_2000?)
|
22
|
-
select = "SELECT name FROM master..sysdatabases ORDER BY name"
|
23
|
-
else
|
24
|
-
select = "SELECT name FROM sys.sysdatabases"
|
25
|
-
end
|
26
|
-
databases = ActiveRecord::Base.connection.select_rows(select).flatten
|
27
|
-
assert databases.include?(@db_name)
|
28
|
-
end
|
29
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
require 'abstract_db_create'
|
2
|
-
require 'db/mysql'
|
3
|
-
|
4
|
-
class MysqlDbCreateTest < Test::Unit::TestCase
|
5
|
-
include AbstractDbCreate
|
6
|
-
|
7
|
-
def db_config
|
8
|
-
MYSQL_CONFIG
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_rake_db_create
|
12
|
-
omit_unless find_executable?("mysql")
|
13
|
-
Rake::Task["db:create"].invoke
|
14
|
-
with_mysql do |mysql|
|
15
|
-
mysql << "show databases where `Database` = '#{@db_name}';"
|
16
|
-
mysql.close_write
|
17
|
-
assert mysql.read =~ /#{@db_name}/m
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def test_rake_db_test_purge
|
22
|
-
Rake::Task["db:create"].invoke
|
23
|
-
Rake::Task["db:test:purge"].invoke
|
24
|
-
end
|
25
|
-
|
26
|
-
private
|
27
|
-
|
28
|
-
def with_mysql(args = nil)
|
29
|
-
exec = "mysql -u #{db_config[:username]} --password=#{db_config[:password]} #{args}"
|
30
|
-
IO.popen(exec, "r+") { |mysql| yield(mysql) }
|
31
|
-
end
|
32
|
-
|
33
|
-
end
|
@@ -1,44 +0,0 @@
|
|
1
|
-
require 'db/postgres'
|
2
|
-
require 'abstract_db_create'
|
3
|
-
|
4
|
-
class PostgresDbCreateTest < Test::Unit::TestCase
|
5
|
-
include AbstractDbCreate
|
6
|
-
|
7
|
-
def db_config
|
8
|
-
POSTGRES_CONFIG
|
9
|
-
end
|
10
|
-
|
11
|
-
PSQL_EXECUTABLE = find_executable?("psql")
|
12
|
-
|
13
|
-
def test_rake_db_create
|
14
|
-
omit_unless PSQL_EXECUTABLE
|
15
|
-
Rake::Task["db:create"].invoke
|
16
|
-
assert_match /#{@db_name}/m, psql("-d template1 -c '\\\l'")
|
17
|
-
end
|
18
|
-
|
19
|
-
def test_rake_db_test_purge
|
20
|
-
# omit_unless PSQL_EXECUTABLE
|
21
|
-
Rake::Task["db:create"].invoke
|
22
|
-
Rake::Task["db:test:purge"].invoke
|
23
|
-
end
|
24
|
-
|
25
|
-
def test_rake_db_create_does_not_load_full_environment
|
26
|
-
Rake::Task["db:create"].invoke
|
27
|
-
assert @rails_env_set
|
28
|
-
assert !defined?(@full_environment_loaded) || !@full_environment_loaded
|
29
|
-
end
|
30
|
-
|
31
|
-
private
|
32
|
-
|
33
|
-
def psql(args)
|
34
|
-
args = args.join(' ') unless args.is_a?(String)
|
35
|
-
if db_config[:host] != 'localhost'
|
36
|
-
args = "--host=#{db_config[:host]} #{args}"
|
37
|
-
end
|
38
|
-
if username = ENV['PSQL_USERNAME']
|
39
|
-
args = "--username=#{username} #{args}"
|
40
|
-
end
|
41
|
-
`psql #{args}`
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
require 'db/postgres'
|
2
|
-
require 'abstract_db_create'
|
3
|
-
|
4
|
-
class PostgresDbDropTest < Test::Unit::TestCase
|
5
|
-
include AbstractDbCreate
|
6
|
-
|
7
|
-
def db_config
|
8
|
-
POSTGRES_CONFIG
|
9
|
-
end
|
10
|
-
|
11
|
-
def test_dropping_nonexistent_database_does_not_raise_exception
|
12
|
-
assert_nothing_raised do
|
13
|
-
Rake::Task["db:drop"].invoke
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
end
|