Fixes missing #uses_sequence invokation in adapter classes for sqlite and sqlite3

This commit is contained in:
Lefteris Laskaridis 2013-09-05 15:13:45 +03:00
parent dd7c12ca0b
commit 57f8844b46
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