aboutsummaryrefslogblamecommitdiffstats
path: root/activerecord/test/table_name_test_sqlserver.rb
blob: f52a3da5fb0112c6df72a6e63dd29fc7ab6b37ee (plain) (tree)
1
2
3
4
5
6
7
8
9







                                                               
                                               













                                                                         
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 < ActiveSupport::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