def test_ensure_foreign_list(self): bar = self.Bar(ref_list=self.foos) bar.save() for foo in self.foos: # Delete backrefs for some reason foo._StoredObject__backrefs = {} foo.save() # Assert that backrefs are gone assert_equal( len(foo.bar__my_ref_list), 0 ) # Restore backrefs ensure_backrefs(bar) for foo in self.foos: # Assert that backrefs are correct assert_equal( len(foo.bar__my_ref_list), 1 ) assert_equal( foo.bar__my_ref_list[0], bar )
def test_ensure_foreign(self): bar = self.Bar(ref=self.foos[0]) bar.save() # Delete backrefs for some reason self.foos[0]._StoredObject__backrefs = {} self.foos[0].save() # Assert that backrefs are gone assert_equal( len(self.foos[0].bar__my_ref), 0 ) # Restore backrefs ensure_backrefs(bar) # Assert that backrefs are correct assert_equal( len(self.foos[0].bar__my_ref), 1 ) assert_equal( self.foos[0].bar__my_ref[0], bar )
def main(): init_app(routes=False) for i, record in enumerate(paginated(models.Node)): if i % 25 == 0: for key in ('node', 'user', 'fileversion', 'storedfilenode'): models.Node._cache.data.get(key, {}).clear() models.Node._object_cache.data.get(key, {}).clear() gc.collect() ensure_backrefs(record, ['logs']) print('Done.')
def clean_backrefs_logs(): for record in models.NodeLog.find(): ensure_backrefs(record, ['user', 'api_key'])
def clean_backrefs_files(): for record in models.NodeFile.find(): ensure_backrefs(record, ['node', 'uploader'])