summaryrefslogtreecommitdiff
path: root/src/mailman/database/model.py
diff options
context:
space:
mode:
authorBarry Warsaw2011-10-23 22:10:36 -0400
committerBarry Warsaw2011-10-23 22:10:36 -0400
commit27ee61e8c69db8152678912c07f9de3e7dad84dc (patch)
tree54983c34580b73dc8697504583b81ead26e5f4fe /src/mailman/database/model.py
parent63b338e18c6cf07a3c46a8e9db436c9c10654330 (diff)
parentb4020ac6233b8c01966530ca81116c066546109b (diff)
downloadmailman-27ee61e8c69db8152678912c07f9de3e7dad84dc.tar.gz
mailman-27ee61e8c69db8152678912c07f9de3e7dad84dc.tar.zst
mailman-27ee61e8c69db8152678912c07f9de3e7dad84dc.zip
Diffstat (limited to 'src/mailman/database/model.py')
-rw-r--r--src/mailman/database/model.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mailman/database/model.py b/src/mailman/database/model.py
index 3e5dcad57..eec88936f 100644
--- a/src/mailman/database/model.py
+++ b/src/mailman/database/model.py
@@ -24,6 +24,9 @@ __all__ = [
'Model',
]
+
+from operator import attrgetter
+
from storm.properties import PropertyPublisherMeta
@@ -46,8 +49,14 @@ class ModelMeta(PropertyPublisherMeta):
@staticmethod
def _reset(store):
- for model_class in ModelMeta._class_registry:
+ from mailman.config import config
+ config.db._pre_reset(store)
+ # Make sure this is deterministic, by sorting on the storm table name.
+ classes = sorted(ModelMeta._class_registry,
+ key=attrgetter('__storm_table__'))
+ for model_class in classes:
store.find(model_class).remove()
+ config.db._post_reset(store)