diff options
author | Michael Koziarski <michael@koziarski.com> | 2008-03-03 06:56:31 +0000 |
---|---|---|
committer | Michael Koziarski <michael@koziarski.com> | 2008-03-03 06:56:31 +0000 |
commit | b3b0a0c388b27ec9d658823b963f4bc59ff2f270 (patch) | |
tree | c27ec785a542d2e3696ddc16869a98740bbed42d /activerecord/lib | |
parent | cc5a957d2b57b1d7081abd6939396f32e7b4b204 (diff) | |
download | rails-b3b0a0c388b27ec9d658823b963f4bc59ff2f270.tar.gz rails-b3b0a0c388b27ec9d658823b963f4bc59ff2f270.tar.bz2 rails-b3b0a0c388b27ec9d658823b963f4bc59ff2f270.zip |
Make the schema dumper respect the schema settings in database.yml. References #8659 [sveiss]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8979 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb index 6b0204191c..41024539b2 100644 --- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb @@ -486,14 +486,16 @@ module ActiveRecord # Returns the list of all indexes for a table. def indexes(table_name, name = nil) - result = query(<<-SQL, name) - SELECT i.relname, d.indisunique, a.attname - FROM pg_class t, pg_class i, pg_index d, pg_attribute a + schemas = schema_search_path.split(/,/).map { |p| quote(p) }.join(',') + result = query(<<-SQL, name) + SELECT distinct i.relname, d.indisunique, a.attname + FROM pg_class t, pg_class i, pg_index d, pg_attribute a WHERE i.relkind = 'i' AND d.indexrelid = i.oid AND d.indisprimary = 'f' AND t.oid = d.indrelid AND t.relname = '#{table_name}' + AND i.relnamespace IN (SELECT oid FROM pg_namespace WHERE nspname IN (#{schemas}) ) AND a.attrelid = t.oid AND ( d.indkey[0]=a.attnum OR d.indkey[1]=a.attnum OR d.indkey[2]=a.attnum OR d.indkey[3]=a.attnum |