summaryrefslogtreecommitdiff
path: root/src/mailman/database/postgresql.py
diff options
context:
space:
mode:
authorBarry Warsaw2014-09-27 20:17:05 -0400
committerBarry Warsaw2014-09-27 20:17:05 -0400
commit2fcc921b2cca02976a7b1ca8da4f15d55595974e (patch)
treea992a10f3859b892287bf7d2510bdd190cf457db /src/mailman/database/postgresql.py
parentb3500aefb15c63ccf60ab4508868f770ffd2d309 (diff)
parent95fc64b4894e5985bb8d0e5e944b2cda38c9a58c (diff)
downloadmailman-2fcc921b2cca02976a7b1ca8da4f15d55595974e.tar.gz
mailman-2fcc921b2cca02976a7b1ca8da4f15d55595974e.tar.zst
mailman-2fcc921b2cca02976a7b1ca8da4f15d55595974e.zip
Diffstat (limited to 'src/mailman/database/postgresql.py')
-rw-r--r--src/mailman/database/postgresql.py10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/mailman/database/postgresql.py b/src/mailman/database/postgresql.py
index 59fff0865..717b69dd1 100644
--- a/src/mailman/database/postgresql.py
+++ b/src/mailman/database/postgresql.py
@@ -26,7 +26,7 @@ __all__ = [
from mailman.database.base import SABaseDatabase
-from operator import attrgetter
+from mailman.database.model import Model
@@ -40,15 +40,13 @@ class PostgreSQLDatabase(SABaseDatabase):
restart from zero for new tests.
"""
super(PostgreSQLDatabase, self)._post_reset(store)
- from mailman.database.model import ModelMeta
- classes = sorted(ModelMeta._class_registry,
- key=attrgetter('__storm_table__'))
+ tables = reversed(Model.metadata.sorted_tables)
# Recipe adapted from
# http://stackoverflow.com/questions/544791/
# django-postgresql-how-to-reset-primary-key
- for model_class in classes:
+ for table in tables:
store.execute("""\
SELECT setval('"{0}_id_seq"', coalesce(max("id"), 1),
max("id") IS NOT null)
FROM "{0}";
- """.format(model_class.__storm_table__))
+ """.format(table))