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:
# File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 168 168: def adapter_name() 169: 'SQLite' 170: end
# File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 145 145: def begin_db_transaction() @connection.transaction end
# 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
# File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 146 146: def commit_db_transaction() @connection.commit end
# 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
# 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
# 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
# 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
# File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 164 164: def quote_column_name(name) 165: "'#{name}'" 166: end
# 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
# File vendor/rails/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb, line 147 147: def rollback_db_transaction() @connection.rollback end
# 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
# 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
# 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