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

Changeset 5477

Show
Ignore:
Timestamp:
11/09/06 21:17:43 (2 years ago)
Author:
bitsweat
Message:

SQLite: use AUTOINCREMENT primary key in >= 3.1.0. Closes #6588.

Files:

Legend:

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

    r5474 r5477  
    11*SVN* 
     2 
     3* SQLite: use AUTOINCREMENT primary key in >= 3.1.0.  #6588 [careo] 
    24 
    35* Cache inheritance_column.  #6592 [Stefan Kaes] 
  • trunk/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb

    r5426 r5477  
    109109      def native_database_types #:nodoc: 
    110110        { 
    111           :primary_key => "INTEGER PRIMARY KEY NOT NULL"
     111          :primary_key => default_primary_key_type
    112112          :string      => { :name => "varchar", :limit => 255 }, 
    113113          :text        => { :name => "text" }, 
     
    352352          @sqlite_version ||= select_value('select sqlite_version(*)') 
    353353        end 
     354 
     355        def default_primary_key_type 
     356          if sqlite_version >= '3.1.0' 
     357            'INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL'.freeze 
     358          else 
     359            'INTEGER PRIMARY KEY NOT NULL'.freeze 
     360          end 
     361        end 
    354362    end 
    355363 
  • trunk/activerecord/test/schema_dumper_test.rb

    r4619 r5477  
    99      stream = StringIO.new 
    1010      ActiveRecord::SchemaDumper.ignore_tables = [] 
     11      ActiveRecord::SchemaDumper.ignore_tables << /^sqlite_/ if current_adapter?(:SQLiteAdapter) 
    1112      ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream) 
    1213      stream.string