activerecord-jdbc-adapter 1.3.0.beta1 → 1.3.0.beta2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|