|
@@ -0,0 +1,29 @@
|
|
|
|
+from django.db.migrations import RunPython
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class StartCacheVersioning(RunPython):
|
|
|
|
+ def __init__(self, cache):
|
|
|
|
+ code = start_cache_versioning(cache)
|
|
|
|
+ reverse_code = stop_cache_versioning(cache)
|
|
|
|
+ super().__init__(code, reverse_code)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+class StopCacheVersioning(RunPython):
|
|
|
|
+ def __init__(self, cache):
|
|
|
|
+ code = stop_cache_versioning(cache)
|
|
|
|
+ reverse_code = start_cache_versioning(cache)
|
|
|
|
+ super().__init__(code, reverse_code)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+def start_cache_versioning(cache):
|
|
|
|
+ def migration_operation(apps, _):
|
|
|
|
+ CacheVersion = apps.get_model('misago_cache', 'CacheVersion')
|
|
|
|
+ CacheVersion.objects.create(cache=cache)
|
|
|
|
+ return migration_operation
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+def stop_cache_versioning(cache):
|
|
|
|
+ def migration_operation(apps, _):
|
|
|
|
+ CacheVersion = apps.get_model('misago_cache', 'CacheVersion')
|
|
|
|
+ CacheVersion.objects.filter(cache=cache).delete()
|
|
|
|
+ return migration_operation
|