drysql 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/base.rb +7 -3
- data/lib/connection_adapters/sqlserver_adapter.rb +9 -4
- metadata +2 -2
data/lib/base.rb
CHANGED
@@ -92,11 +92,15 @@ module ActiveRecord
|
|
92
92
|
@associations ? @associations : {}
|
93
93
|
end
|
94
94
|
|
95
|
+
alias :base_table_exists? :table_exists?
|
95
96
|
def table_exists?(class_name=nil)
|
96
|
-
|
97
|
-
connection.tables.include? construct_table_name_from_class_name(class_name)
|
97
|
+
if class_name.nil? then base_table_exists?
|
98
98
|
else
|
99
|
-
|
99
|
+
if connection.respond_to?(:tables)
|
100
|
+
connection.tables.include? construct_table_name_from_class_name(class_name)
|
101
|
+
else
|
102
|
+
false
|
103
|
+
end
|
100
104
|
end
|
101
105
|
end
|
102
106
|
|
@@ -98,10 +98,15 @@ module ActiveRecord
|
|
98
98
|
|
99
99
|
def constraints(table_name, name = nil)#:nodoc:
|
100
100
|
constraints = []
|
101
|
-
sql = "select t2.*, t1.COLUMN_NAME, t3.UNIQUE_CONSTRAINT_CATALOG, t3.UNIQUE_CONSTRAINT_SCHEMA, t3.UNIQUE_CONSTRAINT_NAME,
|
102
|
-
|
103
|
-
|
104
|
-
|
101
|
+
sql = "select t2.*, t1.COLUMN_NAME, t3.UNIQUE_CONSTRAINT_CATALOG, t3.UNIQUE_CONSTRAINT_SCHEMA, t3.UNIQUE_CONSTRAINT_NAME,
|
102
|
+
t4.table_catalog as REFERENCED_TABLE_CATALOG, t4.table_schema as REFERENCED_TABLE_SCHEMA, t4.table_name as REFERENCED_TABLE_NAME,
|
103
|
+
t4.column_name as REFERENCED_COLUMN_NAME from information_schema.constraint_column_usage as t1 inner join
|
104
|
+
information_schema.table_constraints as t2 on (t2.constraint_name=t1.constraint_name AND t2.table_catalog=t1.table_catalog
|
105
|
+
AND t2.table_schema=t1.table_schema AND t2.table_name=t1.table_name) left outer join
|
106
|
+
information_schema.referential_constraints as t3 on (t3.constraint_name=t2.constraint_name AND
|
107
|
+
t3.constraint_catalog=t2.constraint_catalog AND t3.constraint_schema=t2.constraint_schema) left outer join
|
108
|
+
information_schema.constraint_column_usage as t4 on (t4.constraint_name=t3.unique_constraint_name AND
|
109
|
+
t4.constraint_catalog=t3.unique_constraint_catalog AND t4.constraint_schema=t3.unique_constraint_schema)
|
105
110
|
where t4.table_name='#{table_name}' or t2.table_name='#{table_name}'"
|
106
111
|
results = select_all(sql, name)
|
107
112
|
constraint_name_hash = {}
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: drysql
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.1.
|
7
|
-
date: 2006-12-
|
6
|
+
version: 0.1.6
|
7
|
+
date: 2006-12-13 00:00:00 -05:00
|
8
8
|
summary: Dynamic, Reflective, Invisible Object-Relational Mapping for Ruby
|
9
9
|
require_paths:
|
10
10
|
- lib
|