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

Changeset 2731

Show
Ignore:
Timestamp:
10/25/05 19:28:53 (3 years ago)
Author:
minam
Message:

Allow symbols to rename columns when using SQLite adapter. #2531 [kevin.clark@gmail.com]

Files:

Legend:

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

    r2730 r2731  
    11*SVN* 
     2 
     3* Allow symbols to rename columns when using SQLite adapter. #2531 [kevin.clark@gmail.com] 
    24 
    35* Map Active Record time to SQL TIME.  #2575, #2576 [Robby Russell <robby@planetargon.com>] 
  • trunk/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb

    r2636 r2731  
    281281          create_table(to, options) do |@definition| 
    282282            columns(from).each do |column| 
    283               column_name = options[:rename][column.name] if  
    284                 options[:rename][column.name] if options[:rename] 
    285                
    286               @definition.column(column_name || column.name, column.type,  
     283              column_name = options[:rename] ? 
     284                (options[:rename][column.name] || 
     285                 options[:rename][column.name.to_sym] || 
     286                 column.name) : column.name 
     287 
     288              @definition.column(column_name, column.type,  
    287289                :limit => column.limit, :default => column.default, 
    288290                :null => column.null) 
  • trunk/activerecord/test/migration_test.rb

    r2520 r2731  
    181181    end 
    182182     
     183    def test_rename_column_using_symbol_arguments 
     184      begin 
     185        Person.connection.rename_column :people, :first_name, :nick_name 
     186        Person.reset_column_information 
     187        assert Person.column_names.include?("nick_name") 
     188      ensure 
     189        Person.connection.remove_column("people","nick_name") 
     190        Person.connection.add_column("people","first_name", :string) 
     191      end 
     192    end 
     193     
     194    def test_rename_column 
     195      begin 
     196        Person.connection.rename_column "people", "first_name", "nick_name" 
     197        Person.reset_column_information 
     198        assert Person.column_names.include?("nick_name") 
     199      ensure 
     200        Person.connection.remove_column("people","nick_name") 
     201        Person.connection.add_column("people","first_name", :string) 
     202      end 
     203    end 
     204     
    183205    def test_rename_table 
    184206      begin