From d97a84fb593746caa5806704fe3018aa3f3fc422 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Thu, 9 Nov 2006 21:17:43 +0000 Subject: 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 --- .../lib/active_record/connection_adapters/sqlite_adapter.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb index 43d513e293..38e6d853d6 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb @@ -108,7 +108,7 @@ module ActiveRecord 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 @@ module ActiveRecord 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: -- cgit v1.2.3