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

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5477 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper 2006-11-09 21:17:43 +00:00
parent 510092c681
commit d97a84fb59
3 changed files with 12 additions and 1 deletions

@ -1,5 +1,7 @@
*SVN*
* SQLite: use AUTOINCREMENT primary key in >= 3.1.0. #6588 [careo]
* Cache inheritance_column. #6592 [Stefan Kaes]
* Firebird: decimal/numeric support. #6408 [macrnic]

@ -108,7 +108,7 @@ def supports_count_distinct? #:nodoc:
def native_database_types #:nodoc:
{
:primary_key => "INTEGER PRIMARY KEY NOT NULL",
:primary_key => default_primary_key_type,
:string => { :name => "varchar", :limit => 255 },
:text => { :name => "text" },
:integer => { :name => "integer" },
@ -351,6 +351,14 @@ def catch_schema_changes
def sqlite_version
@sqlite_version ||= select_value('select sqlite_version(*)')
end
def default_primary_key_type
if sqlite_version >= '3.1.0'
'INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL'.freeze
else
'INTEGER PRIMARY KEY NOT NULL'.freeze
end
end
end
class SQLite2Adapter < SQLiteAdapter # :nodoc:

@ -8,6 +8,7 @@ class SchemaDumperTest < Test::Unit::TestCase
def standard_dump
stream = StringIO.new
ActiveRecord::SchemaDumper.ignore_tables = []
ActiveRecord::SchemaDumper.ignore_tables << /^sqlite_/ if current_adapter?(:SQLiteAdapter)
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, stream)
stream.string
end