diff options
author | Jamis Buck <jamis@37signals.com> | 2005-09-23 13:29:33 +0000 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2005-09-23 13:29:33 +0000 |
commit | 7dc45818dc43c163700efc9896a0f3feafa31138 (patch) | |
tree | b9a263bfd2416bfbc9843b563dcc0e2565f2f877 /activerecord/test/adapter_test.rb | |
parent | 436d54c3f19fc80713d975482a28a95cfa60a1e4 (diff) | |
download | rails-7dc45818dc43c163700efc9896a0f3feafa31138.tar.gz rails-7dc45818dc43c163700efc9896a0f3feafa31138.tar.bz2 rails-7dc45818dc43c163700efc9896a0f3feafa31138.zip |
Add ActiveRecord::SchemaDumper for dumping a DB schema to a pure-ruby file, making it easier to consolidate large migration lists and port database schemas between databases.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2312 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/test/adapter_test.rb')
-rw-r--r-- | activerecord/test/adapter_test.rb | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/activerecord/test/adapter_test.rb b/activerecord/test/adapter_test.rb new file mode 100644 index 0000000000..4496da8585 --- /dev/null +++ b/activerecord/test/adapter_test.rb @@ -0,0 +1,38 @@ +require 'abstract_unit' + +class AdapterTest < Test::Unit::TestCase + def setup + @connection = ActiveRecord::Base.connection + end + + def test_tables + if @connection.respond_to?(:tables) + tables = @connection.tables + assert tables.include?("accounts") + assert tables.include?("authors") + assert tables.include?("tasks") + assert tables.include?("topics") + else + warn "#{@connection.class} does not respond to #tables" + end + end + + def test_indexes + if @connection.respond_to?(:indexes) + indexes = @connection.indexes("accounts") + assert indexes.empty? + + @connection.add_index :accounts, :firm_id + indexes = @connection.indexes("accounts") + assert_equal "accounts", indexes.first.table + assert_equal "accounts_firm_id_index", indexes.first.name + assert !indexes.first.unique + assert_equal ["firm_id"], indexes.first.columns + else + warn "#{@connection.class} does not respond to #indexes" + end + + ensure + @connection.remove_index :accounts, :firm_id rescue nil + end +end |