<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>README_DB2.txt</filename>
    </added>
    <added>
      <filename>local/paths.rb.sample</filename>
    </added>
    <added>
      <filename>local/rakefile_loader.rb</filename>
    </added>
    <added>
      <filename>local/tasks.rb.sample</filename>
    </added>
    <added>
      <filename>tasks/activerecord_selection.rake</filename>
    </added>
    <added>
      <filename>tasks/databases.rake</filename>
    </added>
    <added>
      <filename>tasks/deployment.rake</filename>
    </added>
    <added>
      <filename>tasks/loader.rb</filename>
    </added>
    <added>
      <filename>tasks/website.rake</filename>
    </added>
    <added>
      <filename>test/README_tests.txt</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,6 +1,7 @@
 History.txt
 Manifest.txt
 README.txt
+README_DB2.txt
 Rakefile
 install.rb
 lib/composite_primary_keys.rb
@@ -8,21 +9,35 @@ lib/composite_primary_keys/associations.rb
 lib/composite_primary_keys/base.rb
 lib/composite_primary_keys/calculations.rb
 lib/composite_primary_keys/composite_arrays.rb
+lib/composite_primary_keys/connection_adapters/ibm_db_adapter.rb
 lib/composite_primary_keys/connection_adapters/oracle_adapter.rb
 lib/composite_primary_keys/connection_adapters/postgresql_adapter.rb
 lib/composite_primary_keys/fixtures.rb
+lib/composite_primary_keys/migration.rb
 lib/composite_primary_keys/reflection.rb
 lib/composite_primary_keys/version.rb
+local/paths.rb.sample
+local/rakefile_loader.rb
+local/tasks.rb.sample
 scripts/txt2html
 scripts/txt2js
+tasks/activerecord_selection.rake
+tasks/databases.rake
+tasks/deployment.rake
+tasks/loader.rb
+tasks/website.rake
+test/README_tests.txt
 test/abstract_unit.rb
 test/composite_arrays_test.rb
+test/connections/native_ibm_db/connection.rb
 test/connections/native_mysql/connection.rb
 test/connections/native_oracle/connection.rb
 test/connections/native_postgresql/connection.rb
 test/connections/native_sqlite/connection.rb
 test/fixtures/article.rb
 test/fixtures/articles.yml
+test/fixtures/db_definitions/db2-create-tables.sql
+test/fixtures/db_definitions/db2-drop-tables.sql
 test/fixtures/db_definitions/mysql.sql
 test/fixtures/db_definitions/oracle.drop.sql
 test/fixtures/db_definitions/oracle.sql</diff>
      <filename>Manifest.txt</filename>
    </modified>
    <modified>
      <diff>@@ -1,16 +1,41 @@
+= Composite Primary Keys for ActiveRecords
+
+== Summary
 
-Composite Primary Keys for ActiveRecords
-Summary:
 ActiveRecords/Rails famously doesn't support composite primary keys. 
-For 2 years there has been no support for this aspect of legacy databases. 
-This project will be a fully-featured solution and I welcome use cases and 
-legacy DB schema samples to help make the project work with as many common 
-legacy environments as possible.
+This RubyGem extends the activerecord gem to provide CPK support.
+
+== Installation
+
+    gem install composite_primary_keys
+    
+== Usage
+  
+    require 'composite_primary_keys'
+    class ProductVariation
+      set_primary_keys :product_id, :variation_seq
+    end
+    
+    pv = ProductVariation.find(345, 12)
+    
+It even supports composite foreign keys for associations.
+
+See http://compositekeys.rubyforge.org for more.
+
+== Running Tests
+
+See test/README.tests.txt
+
+== Url
 
-Url:
 http://compositekeys.rubyforge.org
 
-Questions and Discussion:
+== Questions, Discussion and Contributions
+
 http://groups.google.com/compositekeys
 
-Written by Dr Nic Williams, drnicwilliams@gmail
\ No newline at end of file
+== Author
+
+Written by Dr Nic Williams, drnicwilliams@gmail
+Contributions by many!
+</diff>
      <filename>README.txt</filename>
    </modified>
    <modified>
      <diff>@@ -10,6 +10,7 @@ require 'fileutils'
 require 'hoe'
 include FileUtils
 require File.join(File.dirname(__FILE__), 'lib', 'composite_primary_keys', 'version')
+require 'local/rakefile_loader'
 
 AUTHOR = &quot;Dr Nic Williams&quot;
 EMAIL = &quot;drnicwilliams@gmail.com&quot;
@@ -57,148 +58,4 @@ CHANGES = hoe.paragraphs_of('History.txt', 0..1).join(&quot;\n\n&quot;)
 PATH    = RUBYFORGE_PROJECT
 hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
 
-
-# UNTESTED - firebird sqlserver sqlserver_odbc db2 sybase openbase
-for adapter in %w( mysql sqlite oracle postgresql ibm_db ) 
-  Rake::TestTask.new(&quot;test_#{adapter}&quot;) { |t|
-    t.libs &lt;&lt; &quot;test&quot; &lt;&lt; &quot;test/connections/native_#{adapter}&quot;
-    t.pattern = &quot;test/test_*.rb&quot;
-    t.verbose = true
-  }
-  namespace adapter do
-    task :test =&gt; &quot;test_#{adapter}&quot;
-  end
-end
-
-SCHEMA_PATH = File.join(File.dirname(__FILE__), *%w(test fixtures db_definitions))
-
-namespace :mysql do
-  desc 'Build the MySQL test databases'
-  task :build_databases do 
-    puts File.join(SCHEMA_PATH, 'mysql.sql')
-    socket = '/Applications/MAMP/tmp/mysql/mysql.sock'
-    user   = 'root'
-    sh %{ mysqladmin -u #{user} -S #{socket} -p create &quot;#{GEM_NAME}_unittest&quot; }
-    sh %{ mysql -u #{user} -S #{socket} -p &quot;#{GEM_NAME}_unittest&quot; &lt; #{File.join(SCHEMA_PATH, 'mysql.sql')} }
-  end
-
-  desc 'Drop the MySQL test databases'
-  task :drop_databases do 
-    socket = '/Applications/MAMP/tmp/mysql/mysql.sock'
-    user   = 'root'
-    sh %{ mysqladmin -u #{user} -S #{socket} -p -f drop &quot;#{GEM_NAME}_unittest&quot; }
-  end
-
-  desc 'Rebuild the MySQL test databases'
-
-  task :rebuild_databases =&gt; [:drop_databases, :build_databases]
-end
-
-namespace :sqlite do
-  desc 'Build the sqlite test databases'
-  task :build_databases do 
-    file = File.join(SCHEMA_PATH, 'sqlite.sql')
-    cmd = &quot;sqlite3 test.db &lt; #{file}&quot;
-    puts cmd
-    sh %{ #{cmd} }
-  end
-
-  desc 'Drop the sqlite test databases'
-  task :drop_databases do 
-    sh %{ rm -f test.db }
-  end
-
-  desc 'Rebuild the sqlite test databases'
-  task :rebuild_databases =&gt; [:drop_databases, :build_databases]
-end
-
-namespace :postgresql do
-  desc 'Build the PostgreSQL test databases'
-  task :build_databases do 
-    sh %{ createdb &quot;#{GEM_NAME}_unittest&quot; }
-    sh %{ psql &quot;#{GEM_NAME}_unittest&quot; -f #{File.join(SCHEMA_PATH, 'postgresql.sql')} }
-  end
-
-  desc 'Drop the PostgreSQL test databases'
-  task :drop_databases do 
-    sh %{ dropdb &quot;#{GEM_NAME}_unittest&quot; }
-  end
-
-  desc 'Rebuild the PostgreSQL test databases'
-  task :rebuild_databases =&gt; [:drop_databases, :build_databases]
-end
-
-namespace :oracle do
-  desc 'Build the Oracle test databases'
-  task :build_databases do 
-    puts File.join(SCHEMA_PATH, 'oracle.sql')
-    sh %( sqlplus holstdl/holstdl@test &lt; #{File.join(SCHEMA_PATH, 'oracle.sql')} )
-  end
-
-  desc 'Drop the Oracle test databases'
-  task :drop_databases do 
-    sh %( sqlplus holstdl/holstdl@test &lt; #{File.join(SCHEMA_PATH, 'oracle.drop.sql')} )
-  end
-
-  desc 'Rebuild the Oracle test databases'
-  task :rebuild_databases =&gt; [:drop_databases, :build_databases]
-end
-
-namespace :idm_db do
-  desc 'Create the db2 test tables'
-  task :create_databases do
-    sh %( db2 connect to ocdpdev user db2inst1 using password)
-    sh %( db2 -tvf #{File.join(SCHEMA_PATH, 'db2-create-tables.sql')} )
-  end
-  
-  desc 'Drop the db2 test tables'
-  task :drop_databases do
-    sh %( db2 connect to ocdpdev user db2inst1 using password)
-    sh %( db2 -tvf #{File.join(SCHEMA_PATH, 'db2-drop-tables.sql')} )
-  end
-  
-  desc 'Rebuild the db2 test databases'
-  task :rebuild_databases =&gt; [:drop_databases, :create_databases]
-end
-
-desc 'Generate website files'
-task :website_generate do
-  sh %{ ruby scripts/txt2html website/index.txt &gt; website/index.html }
-  sh %{ ruby scripts/txt2js website/version.txt &gt; website/version.js }
-  sh %{ ruby scripts/txt2js website/version-raw.txt &gt; website/version-raw.js }
-end
-
-desc 'Upload website files to rubyforge'
-task :website_upload do
-  config = YAML.load(File.read(File.expand_path(&quot;~/.rubyforge/user-config.yml&quot;)))
-  host = &quot;#{config[&quot;username&quot;]}@rubyforge.org&quot;
-  remote_dir = &quot;/var/www/gforge-projects/#{RUBYFORGE_PROJECT}/&quot;
-  local_dir = 'website'
-  sh %{rsync -aCv #{local_dir}/ #{host}:#{remote_dir}}
-end
-
-desc 'Generate and upload website files'
-task :website =&gt; [:website_generate, :website_upload, :publish_docs]
-
-desc 'Release the website and new gem version'
-task :deploy =&gt; [:check_version, :website, :release] do
-  puts &quot;Remember to create SVN tag:&quot;
-  puts &quot;svn copy svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/trunk &quot; +
-    &quot;svn+ssh://#{RUBYFORGE_USERNAME}@rubyforge.org/var/svn/#{PATH}/tags/REL-#{VERS} &quot;
-  puts &quot;Suggested comment:&quot;
-  puts &quot;Tagging release #{CHANGES}&quot;
-end
-
-desc 'Runs tasks website_generate and install_gem as a local deployment of the gem'
-task :local_deploy =&gt; [:website_generate, :install_gem]
-
-task :check_version do
-  unless ENV['VERSION']
-    puts 'Must pass a VERSION=x.y.z release version'
-    exit
-  end
-  unless ENV['VERSION'] == VERS
-    puts &quot;Please update your version.rb to match the release version, currently #{VERS}&quot;
-    exit
-  end
-end
+require 'tasks/loader'</diff>
      <filename>Rakefile</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>DB2_README</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>d29d15fb03b33dd09a71583a0277f68524cc39d5</id>
    </parent>
  </parents>
  <author>
    <name>nicwilliams</name>
    <email>nicwilliams@c9d88e0a-f118-0410-93d6-eb14a717986d</email>
  </author>
  <url>http://github.com/drnic/composite_primary_keys/commit/69e9f89eaffe54488038afe75daebb0439de3503</url>
  <id>69e9f89eaffe54488038afe75daebb0439de3503</id>
  <committed-date>2007-08-15T01:23:46-07:00</committed-date>
  <authored-date>2007-08-15T01:23:46-07:00</authored-date>
  <message>Refactoring Rakefile into local + tasks folders; added README for testing

git-svn-id: svn+ssh://rubyforge.org/var/svn/compositekeys/trunk@97 c9d88e0a-f118-0410-93d6-eb14a717986d</message>
  <tree>f53169ec0476ffd43ccf475e1a57930aacc1e3fb</tree>
  <committer>
    <name>nicwilliams</name>
    <email>nicwilliams@c9d88e0a-f118-0410-93d6-eb14a717986d</email>
  </committer>
</commit>
