composite_primary_keys 0.8.6 → 0.9.0
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/History.txt +9 -0
- data/Manifest.txt +37 -0
- data/README.txt +34 -9
- data/README_DB2.txt +33 -0
- data/Rakefile +8 -119
- data/init.rb +2 -0
- data/lib/adapter_helper/base.rb +63 -0
- data/lib/adapter_helper/mysql.rb +13 -0
- data/lib/adapter_helper/oracle.rb +13 -0
- data/lib/adapter_helper/postgresql.rb +13 -0
- data/lib/adapter_helper/sqlite3.rb +13 -0
- data/lib/composite_primary_keys.rb +2 -2
- data/lib/composite_primary_keys/associations.rb +53 -28
- data/lib/composite_primary_keys/base.rb +4 -1
- data/lib/composite_primary_keys/connection_adapters/ibm_db_adapter.rb +21 -0
- data/lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb +1 -1
- data/lib/composite_primary_keys/migration.rb +13 -0
- data/lib/composite_primary_keys/version.rb +2 -2
- data/loader.rb +24 -0
- data/local/database_connections.rb.sample +10 -0
- data/local/paths.rb.sample +2 -0
- data/local/tasks.rb.sample +2 -0
- data/scripts/console.rb +25 -0
- data/tasks/activerecord_selection.rake +43 -0
- data/tasks/databases.rake +10 -0
- data/tasks/databases/mysql.rake +30 -0
- data/tasks/databases/oracle.rake +15 -0
- data/tasks/databases/postgresql.rake +26 -0
- data/tasks/databases/sqlite3.rake +28 -0
- data/tasks/deployment.rake +22 -0
- data/tasks/local_setup.rake +13 -0
- data/tasks/website.rake +18 -0
- data/test/README_tests.txt +67 -0
- data/test/abstract_unit.rb +2 -4
- data/test/connections/native_ibm_db/connection.rb +23 -0
- data/test/connections/native_mysql/connection.rb +8 -13
- data/test/connections/native_oracle/connection.rb +8 -11
- data/test/connections/native_postgresql/connection.rb +3 -9
- data/test/connections/native_sqlite/connection.rb +4 -5
- data/test/fixtures/comment.rb +5 -0
- data/test/fixtures/comments.yml +14 -0
- data/test/fixtures/db_definitions/db2-create-tables.sql +92 -0
- data/test/fixtures/db_definitions/db2-drop-tables.sql +13 -0
- data/test/fixtures/db_definitions/mysql.sql +24 -0
- data/test/fixtures/db_definitions/oracle.drop.sql +6 -0
- data/test/fixtures/db_definitions/oracle.sql +28 -1
- data/test/fixtures/db_definitions/postgresql.sql +24 -0
- data/test/fixtures/db_definitions/sqlite.sql +21 -0
- data/test/fixtures/department.rb +5 -0
- data/test/fixtures/departments.yml +3 -0
- data/test/fixtures/employee.rb +4 -0
- data/test/fixtures/employees.yml +9 -0
- data/test/fixtures/hack.rb +6 -0
- data/test/fixtures/hacks.yml +2 -0
- data/test/fixtures/product.rb +3 -2
- data/test/fixtures/streets.yml +11 -1
- data/test/fixtures/suburb.rb +2 -0
- data/test/fixtures/suburbs.yml +6 -1
- data/test/fixtures/user.rb +1 -0
- data/test/test_associations.rb +29 -5
- data/test/test_delete.rb +23 -2
- data/test/test_polymorphic.rb +24 -0
- data/tmp/test.db +0 -0
- data/website/index.html +2 -2
- data/website/version-raw.js +1 -1
- data/website/version.js +1 -1
- metadata +43 -3
data/History.txt
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
== 0.9.0 2007-09-28
|
2
|
+
|
3
|
+
* Added support for polymorphs [thx nerdrew]
|
4
|
+
* init.rb file so gem can be installed as a plugin for Rails [thx nerdrew]
|
5
|
+
* Added ibm_db support [thx K Venkatasubramaniyan]
|
6
|
+
* Support for cleaning dependents [thx K Venkatasubramaniyan]
|
7
|
+
* Rafactored db rake tasks into namespaces
|
8
|
+
* Added namespaced tests (e.g. mysql:test for test_mysql)
|
9
|
+
|
1
10
|
== 0.8.6 / 2007-6-12
|
2
11
|
|
3
12
|
* 1 emergency fix due to Rails Core change
|
data/Manifest.txt
CHANGED
@@ -1,35 +1,70 @@
|
|
1
1
|
History.txt
|
2
2
|
Manifest.txt
|
3
3
|
README.txt
|
4
|
+
README_DB2.txt
|
4
5
|
Rakefile
|
6
|
+
init.rb
|
5
7
|
install.rb
|
8
|
+
lib/adapter_helper/base.rb
|
9
|
+
lib/adapter_helper/mysql.rb
|
10
|
+
lib/adapter_helper/oracle.rb
|
11
|
+
lib/adapter_helper/postgresql.rb
|
12
|
+
lib/adapter_helper/sqlite3.rb
|
6
13
|
lib/composite_primary_keys.rb
|
7
14
|
lib/composite_primary_keys/associations.rb
|
8
15
|
lib/composite_primary_keys/base.rb
|
9
16
|
lib/composite_primary_keys/calculations.rb
|
10
17
|
lib/composite_primary_keys/composite_arrays.rb
|
18
|
+
lib/composite_primary_keys/connection_adapters/ibm_db_adapter.rb
|
11
19
|
lib/composite_primary_keys/connection_adapters/oracle_adapter.rb
|
12
20
|
lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb
|
13
21
|
lib/composite_primary_keys/fixtures.rb
|
22
|
+
lib/composite_primary_keys/migration.rb
|
14
23
|
lib/composite_primary_keys/reflection.rb
|
15
24
|
lib/composite_primary_keys/version.rb
|
25
|
+
loader.rb
|
26
|
+
local/database_connections.rb.sample
|
27
|
+
local/paths.rb.sample
|
28
|
+
local/tasks.rb.sample
|
29
|
+
scripts/console.rb
|
16
30
|
scripts/txt2html
|
17
31
|
scripts/txt2js
|
32
|
+
tasks/activerecord_selection.rake
|
33
|
+
tasks/databases.rake
|
34
|
+
tasks/databases/mysql.rake
|
35
|
+
tasks/databases/oracle.rake
|
36
|
+
tasks/databases/postgresql.rake
|
37
|
+
tasks/databases/sqlite3.rake
|
38
|
+
tasks/deployment.rake
|
39
|
+
tasks/local_setup.rake
|
40
|
+
tasks/website.rake
|
41
|
+
test/README_tests.txt
|
18
42
|
test/abstract_unit.rb
|
19
43
|
test/composite_arrays_test.rb
|
44
|
+
test/connections/native_ibm_db/connection.rb
|
20
45
|
test/connections/native_mysql/connection.rb
|
21
46
|
test/connections/native_oracle/connection.rb
|
22
47
|
test/connections/native_postgresql/connection.rb
|
23
48
|
test/connections/native_sqlite/connection.rb
|
24
49
|
test/fixtures/article.rb
|
25
50
|
test/fixtures/articles.yml
|
51
|
+
test/fixtures/comment.rb
|
52
|
+
test/fixtures/comments.yml
|
53
|
+
test/fixtures/db_definitions/db2-create-tables.sql
|
54
|
+
test/fixtures/db_definitions/db2-drop-tables.sql
|
26
55
|
test/fixtures/db_definitions/mysql.sql
|
27
56
|
test/fixtures/db_definitions/oracle.drop.sql
|
28
57
|
test/fixtures/db_definitions/oracle.sql
|
29
58
|
test/fixtures/db_definitions/postgresql.sql
|
30
59
|
test/fixtures/db_definitions/sqlite.sql
|
60
|
+
test/fixtures/department.rb
|
61
|
+
test/fixtures/departments.yml
|
62
|
+
test/fixtures/employee.rb
|
63
|
+
test/fixtures/employees.yml
|
31
64
|
test/fixtures/group.rb
|
32
65
|
test/fixtures/groups.yml
|
66
|
+
test/fixtures/hack.rb
|
67
|
+
test/fixtures/hacks.yml
|
33
68
|
test/fixtures/membership.rb
|
34
69
|
test/fixtures/membership_status.rb
|
35
70
|
test/fixtures/membership_statuses.yml
|
@@ -63,9 +98,11 @@ test/test_find.rb
|
|
63
98
|
test/test_ids.rb
|
64
99
|
test/test_miscellaneous.rb
|
65
100
|
test/test_pagination.rb
|
101
|
+
test/test_polymorphic.rb
|
66
102
|
test/test_santiago.rb
|
67
103
|
test/test_tutorial_examle.rb
|
68
104
|
test/test_update.rb
|
105
|
+
tmp/test.db
|
69
106
|
website/index.html
|
70
107
|
website/index.txt
|
71
108
|
website/javascripts/rounded_corners_lite.inc.js
|
data/README.txt
CHANGED
@@ -1,16 +1,41 @@
|
|
1
|
+
= Composite Primary Keys for ActiveRecords
|
2
|
+
|
3
|
+
== Summary
|
1
4
|
|
2
|
-
Composite Primary Keys for ActiveRecords
|
3
|
-
Summary:
|
4
5
|
ActiveRecords/Rails famously doesn't support composite primary keys.
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
This RubyGem extends the activerecord gem to provide CPK support.
|
7
|
+
|
8
|
+
== Installation
|
9
|
+
|
10
|
+
gem install composite_primary_keys
|
11
|
+
|
12
|
+
== Usage
|
13
|
+
|
14
|
+
require 'composite_primary_keys'
|
15
|
+
class ProductVariation
|
16
|
+
set_primary_keys :product_id, :variation_seq
|
17
|
+
end
|
18
|
+
|
19
|
+
pv = ProductVariation.find(345, 12)
|
20
|
+
|
21
|
+
It even supports composite foreign keys for associations.
|
22
|
+
|
23
|
+
See http://compositekeys.rubyforge.org for more.
|
24
|
+
|
25
|
+
== Running Tests
|
26
|
+
|
27
|
+
See test/README.tests.txt
|
28
|
+
|
29
|
+
== Url
|
9
30
|
|
10
|
-
Url:
|
11
31
|
http://compositekeys.rubyforge.org
|
12
32
|
|
13
|
-
Questions and
|
33
|
+
== Questions, Discussion and Contributions
|
34
|
+
|
14
35
|
http://groups.google.com/compositekeys
|
15
36
|
|
16
|
-
|
37
|
+
== Author
|
38
|
+
|
39
|
+
Written by Dr Nic Williams, drnicwilliams@gmail
|
40
|
+
Contributions by many!
|
41
|
+
|
data/README_DB2.txt
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
Composite Primary key support for db2
|
2
|
+
|
3
|
+
== Driver Support ==
|
4
|
+
|
5
|
+
DB2 support requires the IBM_DB driver provided by http://rubyforge.org/projects/rubyibm/
|
6
|
+
project. Install using gem install ibm_db. Tested against version 0.60 of the driver.
|
7
|
+
This rubyforge project appears to be permenant location for the IBM adapter.
|
8
|
+
Older versions of the driver available from IBM Alphaworks will not work.
|
9
|
+
|
10
|
+
== Driver Bug and workaround provided as part of this plugin ==
|
11
|
+
|
12
|
+
Unlike the basic quote routine available for Rails AR, the DB2 adapter's quote
|
13
|
+
method doesn't return " column_name = 1 " when string values (integers in string type variable)
|
14
|
+
are passed for quoting numeric column. Rather it returns "column_name = '1'.
|
15
|
+
DB2 doesn't accept single quoting numeric columns in SQL. Currently, as part of
|
16
|
+
this plugin a fix is provided for the DB2 adapter since this plugin does
|
17
|
+
pass string values like this. Perhaps a patch should be sent to the DB2 adapter
|
18
|
+
project for a permanant fix.
|
19
|
+
|
20
|
+
== Database Setup ==
|
21
|
+
|
22
|
+
Database must be manually created using a separate command. Read the rake task
|
23
|
+
for creating tables and change the db name, user and passwords accordingly.
|
24
|
+
|
25
|
+
== Tested Database Server version ==
|
26
|
+
|
27
|
+
This is tested against DB2 v9.1 in Ubuntu Feisty Fawn (7.04)
|
28
|
+
|
29
|
+
== Tested Database Client version ==
|
30
|
+
|
31
|
+
This is tested against DB2 v9.1 in Ubuntu Feisty Fawn (7.04)
|
32
|
+
|
33
|
+
|
data/Rakefile
CHANGED
@@ -15,14 +15,17 @@ AUTHOR = "Dr Nic Williams"
|
|
15
15
|
EMAIL = "drnicwilliams@gmail.com"
|
16
16
|
DESCRIPTION = "Composite key support for ActiveRecords"
|
17
17
|
GEM_NAME = "composite_primary_keys" # what ppl will type to install your gem
|
18
|
-
|
19
|
-
|
18
|
+
if File.exists?("~/.rubyforge/user-config.yml")
|
19
|
+
# TODO this should prob go in a local/ file
|
20
|
+
config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
|
21
|
+
RUBYFORGE_USERNAME = config["username"]
|
22
|
+
end
|
20
23
|
RUBYFORGE_PROJECT = "compositekeys"
|
21
24
|
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
|
22
25
|
|
23
26
|
REV = nil #File.read(".svn/entries")[/committed-rev="(\d+)"/, 1] rescue nil
|
24
27
|
VERS = ENV['VERSION'] || (CompositePrimaryKeys::VERSION::STRING + (REV ? ".#{REV}" : ""))
|
25
|
-
CLEAN.include ['**/.*.sw?', '*.gem', '.config','debug.log','*.db','logfile','
|
28
|
+
CLEAN.include ['**/.*.sw?', '*.gem', '.config','debug.log','*.db','logfile','log/**/*','**/.DS_Store', '.project']
|
26
29
|
RDOC_OPTS = ['--quiet', '--title', "newgem documentation",
|
27
30
|
"--opname", "index.html",
|
28
31
|
"--line-numbers",
|
@@ -57,120 +60,6 @@ CHANGES = hoe.paragraphs_of('History.txt', 0..1).join("\n\n")
|
|
57
60
|
PATH = RUBYFORGE_PROJECT
|
58
61
|
hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
|
59
62
|
|
63
|
+
PROJECT_ROOT = File.expand_path(".")
|
60
64
|
|
61
|
-
|
62
|
-
for adapter in %w( mysql sqlite oracle postgresql )
|
63
|
-
Rake::TestTask.new("test_#{adapter}") { |t|
|
64
|
-
t.libs << "test" << "test/connections/native_#{adapter}"
|
65
|
-
t.pattern = "test/test_*.rb"
|
66
|
-
t.verbose = true
|
67
|
-
}
|
68
|
-
end
|
69
|
-
|
70
|
-
SCHEMA_PATH = File.join(File.dirname(__FILE__), *%w(test fixtures db_definitions))
|
71
|
-
|
72
|
-
desc 'Build the MySQL test databases'
|
73
|
-
task :build_mysql_databases do
|
74
|
-
puts File.join(SCHEMA_PATH, 'mysql.sql')
|
75
|
-
socket = '/Applications/MAMP/tmp/mysql/mysql.sock'
|
76
|
-
user = 'root'
|
77
|
-
sh %{ mysqladmin -u #{user} -S #{socket} -p create "#{GEM_NAME}_unittest" }
|
78
|
-
sh %{ mysql -u #{user} -S #{socket} -p "#{GEM_NAME}_unittest" < #{File.join(SCHEMA_PATH, 'mysql.sql')} }
|
79
|
-
end
|
80
|
-
|
81
|
-
desc 'Drop the MySQL test databases'
|
82
|
-
task :drop_mysql_databases do
|
83
|
-
socket = '/Applications/MAMP/tmp/mysql/mysql.sock'
|
84
|
-
user = 'root'
|
85
|
-
sh %{ mysqladmin -u #{user} -S #{socket} -p -f drop "#{GEM_NAME}_unittest" }
|
86
|
-
end
|
87
|
-
|
88
|
-
desc 'Rebuild the MySQL test databases'
|
89
|
-
|
90
|
-
task :rebuild_mysql_databases => [:drop_mysql_databases, :build_mysql_databases]
|
91
|
-
|
92
|
-
desc 'Build the sqlite test databases'
|
93
|
-
task :build_sqlite_databases do
|
94
|
-
file = File.join(SCHEMA_PATH, 'sqlite.sql')
|
95
|
-
cmd = "sqlite3 test.db < #{file}"
|
96
|
-
puts cmd
|
97
|
-
sh %{ #{cmd} }
|
98
|
-
end
|
99
|
-
|
100
|
-
desc 'Drop the sqlite test databases'
|
101
|
-
task :drop_sqlite_databases do
|
102
|
-
sh %{ rm -f test.db }
|
103
|
-
end
|
104
|
-
|
105
|
-
desc 'Rebuild the sqlite test databases'
|
106
|
-
task :rebuild_sqlite_databases => [:drop_sqlite_databases, :build_sqlite_databases]
|
107
|
-
|
108
|
-
desc 'Build the PostgreSQL test databases'
|
109
|
-
task :build_postgresql_databases do
|
110
|
-
sh %{ createdb "#{GEM_NAME}_unittest" }
|
111
|
-
sh %{ psql "#{GEM_NAME}_unittest" -f #{File.join(SCHEMA_PATH, 'postgresql.sql')} }
|
112
|
-
end
|
113
|
-
|
114
|
-
desc 'Drop the PostgreSQL test databases'
|
115
|
-
task :drop_postgresql_databases do
|
116
|
-
sh %{ dropdb "#{GEM_NAME}_unittest" }
|
117
|
-
end
|
118
|
-
|
119
|
-
desc 'Rebuild the PostgreSQL test databases'
|
120
|
-
task :rebuild_postgresql_databases => [:drop_postgresql_databases, :build_postgresql_databases]
|
121
|
-
|
122
|
-
desc 'Build the Oracle test databases'
|
123
|
-
task :build_oracle_databases do
|
124
|
-
puts File.join(SCHEMA_PATH, 'oracle.sql')
|
125
|
-
sh %( sqlplus holstdl/holstdl@test < #{File.join(SCHEMA_PATH, 'oracle.sql')} )
|
126
|
-
end
|
127
|
-
|
128
|
-
desc 'Drop the Oracle test databases'
|
129
|
-
task :drop_oracle_databases do
|
130
|
-
sh %( sqlplus holstdl/holstdl@test < #{File.join(SCHEMA_PATH, 'oracle.drop.sql')} )
|
131
|
-
end
|
132
|
-
|
133
|
-
desc 'Rebuild the Oracle test databases'
|
134
|
-
task :rebuild_oracle_databases => [:drop_oracle_databases, :build_oracle_databases]
|
135
|
-
|
136
|
-
desc 'Generate website files'
|
137
|
-
task :website_generate do
|
138
|
-
sh %{ ruby scripts/txt2html website/index.txt > website/index.html }
|
139
|
-
sh %{ ruby scripts/txt2js website/version.txt > website/version.js }
|
140
|
-
sh %{ ruby scripts/txt2js website/version-raw.txt > website/version-raw.js }
|
141
|
-
end
|
142
|
-
|
143
|
-
desc 'Upload website files to rubyforge'
|
144
|
-
task :website_upload do
|
145
|
-
config = YAML.load(File.read(File.expand_path("~/.rubyforge/user-config.yml")))
|
146
|
-
host = "#{config["username"]}@rubyforge.org"
|
147
|
-
remote_dir = "/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/"
|
148
|
-
local_dir = 'website'
|
149
|
-
sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
|
150
|
-
end
|
151
|
-
|
152
|
-
desc 'Generate and upload website files'
|
153
|
-
task :website => [:website_generate, :website_upload, :publish_docs]
|
154
|
-
|
155
|
-
desc 'Release the website and new gem version'
|
156
|
-
task :deploy => [:check_version, :website, :release] do
|
157
|
-
puts "Remember to create SVN tag:"
|
158
|
-
puts "svn copy svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/trunk " +
|
159
|
-
"svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} "
|
160
|
-
puts "Suggested comment:"
|
161
|
-
puts "Tagging release #{CHANGES}"
|
162
|
-
end
|
163
|
-
|
164
|
-
desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
|
165
|
-
task :local_deploy => [:website_generate, :install_gem]
|
166
|
-
|
167
|
-
task :check_version do
|
168
|
-
unless ENV['VERSION']
|
169
|
-
puts 'Must pass a VERSION=x.y.z release version'
|
170
|
-
exit
|
171
|
-
end
|
172
|
-
unless ENV['VERSION'] == VERS
|
173
|
-
puts "Please update your version.rb to match the release version, currently #{VERS}"
|
174
|
-
exit
|
175
|
-
end
|
176
|
-
end
|
65
|
+
require 'loader'
|
data/init.rb
ADDED
@@ -0,0 +1,63 @@
|
|
1
|
+
module AdapterHelper
|
2
|
+
class Base
|
3
|
+
class << self
|
4
|
+
attr_accessor :adapter
|
5
|
+
|
6
|
+
def load_connection_from_env(adapter)
|
7
|
+
self.adapter = adapter
|
8
|
+
unless ENV['cpk_adapters']
|
9
|
+
puts error_msg_setup_helper
|
10
|
+
exit
|
11
|
+
end
|
12
|
+
|
13
|
+
all_specs = YAML.load(ENV['cpk_adapters'])
|
14
|
+
unless spec = all_specs[adapter]
|
15
|
+
puts error_msg_adapter_helper
|
16
|
+
exit
|
17
|
+
end
|
18
|
+
spec[:adapter] = adapter
|
19
|
+
spec
|
20
|
+
end
|
21
|
+
|
22
|
+
def error_msg_setup_helper
|
23
|
+
<<-EOS
|
24
|
+
Setup Helper:
|
25
|
+
CPK now has a place for your individual testing configuration.
|
26
|
+
That is, instead of hardcoding it in the Rakefile and test/connections files,
|
27
|
+
there is now a local/database_connections.rb file that is NOT in the
|
28
|
+
repository. Your personal DB information (username, password etc) can
|
29
|
+
be stored here without making it difficult to submit patches etc.
|
30
|
+
|
31
|
+
Installation:
|
32
|
+
i) cp locals/database_connections.rb.sample locals/database_connections.rb
|
33
|
+
ii) For #{adapter} connection details see "Adapter Setup Helper" below.
|
34
|
+
iii) Rerun this task
|
35
|
+
|
36
|
+
#{error_msg_adapter_helper}
|
37
|
+
|
38
|
+
Current ENV:
|
39
|
+
#{ENV.inspect}
|
40
|
+
EOS
|
41
|
+
end
|
42
|
+
|
43
|
+
def error_msg_adapter_helper
|
44
|
+
<<-EOS
|
45
|
+
Adapter Setup Helper:
|
46
|
+
To run #{adapter} tests, you need to setup your #{adapter} connections.
|
47
|
+
In your local/database_connections.rb file, within the ENV['cpk_adapter'] hash, add:
|
48
|
+
"#{adapter}" => { adapter settings }
|
49
|
+
|
50
|
+
That is, it will look like:
|
51
|
+
ENV['cpk_adapters'] = {
|
52
|
+
"#{adapter}" => {
|
53
|
+
:adapter => "#{adapter}",
|
54
|
+
:username => "root",
|
55
|
+
:password => "root",
|
56
|
+
# ...
|
57
|
+
}
|
58
|
+
}.to_yaml
|
59
|
+
EOS
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'base')
|
2
|
+
|
3
|
+
module AdapterHelper
|
4
|
+
class MySQL < Base
|
5
|
+
class << self
|
6
|
+
def load_connection_from_env
|
7
|
+
spec = super('mysql')
|
8
|
+
spec[:database] ||= 'composite_primary_keys_unittest'
|
9
|
+
spec
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'base')
|
2
|
+
|
3
|
+
module AdapterHelper
|
4
|
+
class Oracle < Base
|
5
|
+
class << self
|
6
|
+
def load_connection_from_env
|
7
|
+
spec = super('oracle')
|
8
|
+
spec[:database] ||= 'composite_primary_keys_unittest'
|
9
|
+
spec
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'base')
|
2
|
+
|
3
|
+
module AdapterHelper
|
4
|
+
class Postgresql < Base
|
5
|
+
class << self
|
6
|
+
def load_connection_from_env
|
7
|
+
spec = super('postgresql')
|
8
|
+
spec[:database] ||= 'composite_primary_keys_unittest'
|
9
|
+
spec
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|