| 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
# 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