Closed
Description
Disclaimer: I lack knowledge on redis internals, and on the design criteria of the object mapping library.
Issue:
The migrator when running through the model_registry
performs a hash calculation for the current schema
conn = cls.db()
try:
schema = cls.redisearch_schema()
except NotImplementedError:
log.info("Skipping migrations for %s", name)
continue
current_hash = hashlib.sha1(schema.encode("utf-8")).hexdigest()
to then compare it to the one it gets from the db
stored_hash = conn.get(hash_key)
schema_out_of_date = current_hash != stored_hash
a connection without decoded_responses=True
(and maybe with different charset) will create false positive migrations, because of distinct types, i.e. bytes
and str
for stored_hash
and current_hash
respectively.
I guess that a default encoding schema for bytes
responses would suffice, or a user warning.
Metadata
Metadata
Assignees
Labels
No labels