Ruby on Rails | Screencasts | Download | Documentation | Weblog | Community | Source

Changeset 6965

Show
Ignore:
Timestamp:
06/08/07 01:40:05 (1 year ago)
Author:
bitsweat
Message:

Rollback [6961] which breaks SQLite tests. Reference #7345.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/activerecord/CHANGELOG

    r6961 r6965  
    11*SVN* 
    2  
    3 * Migrations: raise if a column is duplicated.  #7345 [Jeremy McAnally, Josh Peek] 
    42 
    53* Fixtures: correctly delete and insert fixtures in a single transaction.  #8553 [Michael Schuerig] 
  • trunk/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb

    r6961 r6965  
    352352      # TableDefinition#timestamps that'll add created_at and updated_at as datetimes. 
    353353      def column(name, type, options = {}) 
    354         raise "You already defined column '#{name}'." if self[name] 
    355         column = ColumnDefinition.new(@base, name, type) 
     354        column = self[name] || ColumnDefinition.new(@base, name, type) 
    356355        column.limit = options[:limit] || native[type.to_sym][:limit] if options[:limit] or native[type.to_sym] 
    357356        column.precision = options[:precision] 
  • trunk/activerecord/test/migration_test.rb

    r6961 r6965  
    808808    end 
    809809 
    810     def test_should_disallow_duplicate_column_definition 
    811       assert_raises(ActiveRecord::StatementInvalid) do 
    812         Person.connection.add_column("people", "full_name", :string, :limit => 40) 
    813         Person.connection.add_column("people", "full_name", :text) 
    814       end 
    815  
    816       assert_raises(RuntimeError) do 
    817         Person.connection.create_table :people_with_errors do |t| 
    818           t.column "full_name", :string, :limit => 40 
    819           t.column "full_name", :text 
    820         end 
    821       end 
    822  
    823       Person.reset_column_information 
    824     end 
    825  
    826810  end 
    827811end