From 97811698ab0e68b33fbf3067c3764e385dd75d53 Mon Sep 17 00:00:00 2001
From: Emilio Tagua <miloops@gmail.com>
Date: Tue, 23 Jun 2009 19:45:14 -0300
Subject: If the class or method isn't defined use "id" as primary_key.

---
 lib/arel/engines/sql/relations/writes.rb | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'lib/arel/engines')

diff --git a/lib/arel/engines/sql/relations/writes.rb b/lib/arel/engines/sql/relations/writes.rb
index 471fceabd8..b90d380c64 100644
--- a/lib/arel/engines/sql/relations/writes.rb
+++ b/lib/arel/engines/sql/relations/writes.rb
@@ -48,7 +48,12 @@ module Arel
         conditions << " LIMIT #{taken}"
 
         if engine.adapter_name != "MySQL"
-          quote_primary_key = engine.quote_column_name(table.name.classify.constantize.primary_key)
+          begin
+            quote_primary_key = engine.quote_column_name(table.name.classify.constantize.primary_key)
+          rescue NameError
+            quote_primary_key = engine.quote_column_name("id")
+          end
+
           conditions =  "WHERE #{quote_primary_key} IN (SELECT #{quote_primary_key} FROM #{engine.connection.quote_table_name table.name} #{conditions})"
         end
       end
-- 
cgit v1.2.3