From 9073cef8669b9f43dbeb83e306be3445d62566f8 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Fri, 12 Jan 2007 05:44:28 +0000 Subject: SQLServer: handle [quoted] table names. Closes #6635. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5891 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/test/table_name_test_sqlserver.rb | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 activerecord/test/table_name_test_sqlserver.rb (limited to 'activerecord/test/table_name_test_sqlserver.rb') diff --git a/activerecord/test/table_name_test_sqlserver.rb b/activerecord/test/table_name_test_sqlserver.rb new file mode 100644 index 0000000000..c2d1711599 --- /dev/null +++ b/activerecord/test/table_name_test_sqlserver.rb @@ -0,0 +1,23 @@ +require 'abstract_unit' +require "#{File.dirname(__FILE__)}/../lib/active_record/schema" + +if ActiveRecord::Base.connection.supports_migrations? + class Order < ActiveRecord::Base + self.table_name = '[order]' + end + + class TableNameTest < Test::Unit::TestCase + self.use_transactional_fixtures = false + + # Ensures Model.columns works when using SQLServer escape characters. + # Enables legacy schemas using SQL reserved words as table names. + # Should work with table names with spaces as well ('table name'). + def test_escaped_table_name + assert_nothing_raised do + ActiveRecord::Base.connection.select_all 'SELECT * FROM [order]' + end + assert_equal '[order]', Order.table_name + assert_equal 5, Order.columns.length + end + end +end -- cgit v1.2.3