Merge pull request #244 from laskaridis/master

Fixes missing #uses_sequence invokation in adapter classes for sqlite and sqlite3
This commit is contained in:
Ben Mabey 2013-09-05 09:08:04 -07:00
commit df55cf7b74
1 changed files with 22 additions and 2 deletions

View File

@ -53,7 +53,7 @@ module DataMapper
def truncate_table(table_name)
execute("DELETE FROM #{quote_name(table_name)};")
if uses_sequence
if uses_sequence?
execute("DELETE FROM sqlite_sequence where name = '#{table_name}';")
end
end
@ -65,6 +65,16 @@ module DataMapper
yield
end
private
def uses_sequence?
sql = <<-SQL
SELECT name FROM sqlite_master
WHERE type='table' AND name='sqlite_sequence'
SQL
select(sql).first
end
end
class SqliteAdapter < DataObjectsAdapter
@ -82,7 +92,7 @@ module DataMapper
def truncate_table(table_name)
execute("DELETE FROM #{quote_name(table_name)};")
if uses_sequence
if uses_sequence?
execute("DELETE FROM sqlite_sequence where name = '#{table_name}';")
end
end
@ -94,6 +104,16 @@ module DataMapper
yield
end
private
def uses_sequence?
sql = <<-SQL
SELECT name FROM sqlite_master
WHERE type='table' AND name='sqlite_sequence'
SQL
select(sql).first
end
end
# FIXME