Class ActiveRecord::ConnectionAdapters::SQLiteAdapter
In: vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
Parent: AbstractAdapter

The SQLite adapter works with both the 2.x and 3.x series of SQLite with the sqlite-ruby drivers (available both as gems and from rubyforge.org/projects/sqlite-ruby/).

Options:

  • :dbfile — Path to the database file.

Methods

Public Instance methods

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 168
168:       def adapter_name()
169:         'SQLite'
170:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 145
145:       def begin_db_transaction()    @connection.transaction end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 154
154:       def columns(table_name, name = nil)
155:         table_structure(table_name).map { |field|
156:           SQLiteColumn.new(field['name'], field['dflt_value'], field['type'])
157:         }
158:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 146
146:       def commit_db_transaction()   @connection.commit      end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 116
116:       def delete(sql, name = nil)
117:         sql += " WHERE 1=1" unless sql =~ /WHERE/i
118:         execute(sql, name)
119:         @connection.changes
120:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 106
106:       def execute(sql, name = nil)
107:         #log(sql, name, @connection) { |connection| connection.execute(sql) }
108:         log(sql, name) { @connection.execute(sql) }
109:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 122
122:       def insert(sql, name = nil, pk = nil, id_value = nil)
123:         execute(sql, name = nil)
124:         id_value || @connection.last_insert_row_id
125:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 90
 90:       def native_database_types
 91:         {
 92:           :primary_key => "INTEGER PRIMARY KEY NOT NULL",
 93:           :string      => { :name => "varchar", :limit => 255 },
 94:           :text        => { :name => "text" },
 95:           :integer     => { :name => "integer" },
 96:           :float       => { :name => "float" },
 97:           :datetime    => { :name => "datetime" },
 98:           :timestamp   => { :name => "datetime" },
 99:           :time        => { :name => "datetime" },
100:           :date        => { :name => "date" },
101:           :binary      => { :name => "blob" },
102:           :boolean     => { :name => "integer" }
103:         }
104:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 164
164:       def quote_column_name(name)
165:         "'#{name}'"
166:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 160
160:       def quote_string(s)
161:         @connection.class.quote(s)
162:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 147
147:       def rollback_db_transaction() @connection.rollback    end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 127
127:       def select_all(sql, name = nil)
128:         execute(sql, name).map do |row|
129:           record = {}
130:           row.each_key do |key|
131:             if key.is_a?(String)
132:               record[key.sub(/^\w+\./, '')] = row[key]
133:             end
134:           end
135:           record
136:         end
137:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 139
139:       def select_one(sql, name = nil)
140:         result = select_all(sql, name)
141:         result.nil? ? nil : result.first
142:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 150
150:       def tables
151:         execute('.table').map { |table| Table.new(table) }
152:       end

[Source]

     # File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 111
111:       def update(sql, name = nil)
112:         execute(sql, name)
113:         @connection.changes
114:       end

[Validate]