id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 4432,get_sql_sequence_reset doesn't work on tables that have no records.,Tai Lee,Adrian Holovaty,"the sql generated by these methods (which only apply to postgresql and postgresql_psycopg2) sets the new sequence to {{{max(pk)}}}, which works great when the table has a few records, but fails to reset the sequence when there are no records. {{{ Python 2.4.3 (#1, May 2 2006, 19:34:13) [GCC 4.0.0 20041026 (Apple Computer, Inc. build 4061)] on darwin Type ""help"", ""copyright"", ""credits"" or ""license"" for more information. (InteractiveConsole) >>> from django.contrib.sites import models >>> from django.core.management import disable_termcolors, get_sql_sequence_reset >>> from django.db import connection >>> disable_termcolors() >>> cursor = connection.cursor() >>> models.Site.objects.all().delete() >>> models.Site.objects.all() [] >>> s = models.Site.objects.create(id=1, name='example.com', domain='example.com') >>> s.id 1 >>> for sql in get_sql_sequence_reset(models): cursor.execute(sql) ... >>> s = models.Site.objects.create(name='example.com', domain='example.com') >>> s.id 2L >>> models.Site.objects.all().delete() >>> models.Site.objects.all() [] >>> for sql in get_sql_sequence_reset(models): cursor.execute(sql) ... >>> s = models.Site.objects.create(name='example.com', domain='example.com') >>> s.id 3L >>> s = models.Site.objects.create(name='example.com', domain='example.com') >>> s.id 4L >>> s.delete() >>> models.Site.objects.all() [] >>> for sql in get_sql_sequence_reset(models): cursor.execute(sql) ... >>> s = models.Site.objects.create(name='example.com', domain='example.com') >>> s.id 4L >>> }}} it could be fixed by setting the sequence to {{{max(pk)}}} only if {{{model.objects.count()}}} is greater than 0, otherwise set it back to 0. ",,closed,"Database layer (models, ORM)",dev,,fixed,get_sql_sequence_reset max id empty table no records,real.human@…,Ready for checkin,1,0,0,0,0,0