Changeset 6965
- Timestamp:
- 06/08/07 01:40:05 (1 year ago)
- Files:
-
- trunk/activerecord/CHANGELOG (modified) (1 diff)
- trunk/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb (modified) (1 diff)
- trunk/activerecord/test/migration_test.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/activerecord/CHANGELOG
r6961 r6965 1 1 *SVN* 2 3 * Migrations: raise if a column is duplicated. #7345 [Jeremy McAnally, Josh Peek]4 2 5 3 * 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 352 352 # TableDefinition#timestamps that'll add created_at and updated_at as datetimes. 353 353 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) 356 355 column.limit = options[:limit] || native[type.to_sym][:limit] if options[:limit] or native[type.to_sym] 357 356 column.precision = options[:precision] trunk/activerecord/test/migration_test.rb
r6961 r6965 808 808 end 809 809 810 def test_should_disallow_duplicate_column_definition811 assert_raises(ActiveRecord::StatementInvalid) do812 Person.connection.add_column("people", "full_name", :string, :limit => 40)813 Person.connection.add_column("people", "full_name", :text)814 end815 816 assert_raises(RuntimeError) do817 Person.connection.create_table :people_with_errors do |t|818 t.column "full_name", :string, :limit => 40819 t.column "full_name", :text820 end821 end822 823 Person.reset_column_information824 end825 826 810 end 827 811 end