Refine connection strings (dotenv), Makefile targets
This commit is contained in:
parent
d2fa4c586f
commit
49654eeede
7 changed files with 49 additions and 7 deletions
|
@ -1,5 +1,26 @@
|
|||
import os
|
||||
|
||||
import dotenv
|
||||
import redis
|
||||
|
||||
|
||||
def get_redis_connection() -> redis.Redis:
|
||||
return redis.Redis(decode_responses=True)
|
||||
dotenv.load_dotenv()
|
||||
|
||||
URL = os.environ.get("REDIS_OM_URL", None)
|
||||
|
||||
|
||||
def get_redis_connection(**kwargs) -> redis.Redis:
|
||||
# If someone passed in a 'url' parameter, or specified a REDIS_OM_URL
|
||||
# environment variable, we'll create the Redis client from the URL.
|
||||
url = kwargs.pop("url", URL)
|
||||
if not url:
|
||||
import ipdb
|
||||
|
||||
ipdb.set_trace()
|
||||
if url:
|
||||
return redis.from_url(url, **kwargs)
|
||||
|
||||
# Decode from UTF-8 by default
|
||||
if "decode_responses" not in kwargs:
|
||||
kwargs["decode_responses"] = True
|
||||
return redis.Redis(**kwargs)
|
||||
|
|
|
@ -37,6 +37,7 @@ from pydantic.utils import Representation
|
|||
from redis.client import Pipeline
|
||||
from ulid import ULID
|
||||
|
||||
from ..connections import get_redis_connection
|
||||
from .encoders import jsonable_encoder
|
||||
from .render_tree import render_tree
|
||||
from .token_escaper import TokenEscaper
|
||||
|
@ -997,7 +998,7 @@ class ModelMeta(ModelMetaclass):
|
|||
)
|
||||
if not getattr(new_class._meta, "database", None):
|
||||
new_class._meta.database = getattr(
|
||||
base_meta, "database", redis.Redis(decode_responses=True)
|
||||
base_meta, "database", get_redis_connection()
|
||||
)
|
||||
if not getattr(new_class._meta, "primary_key_creator_cls", None):
|
||||
new_class._meta.primary_key_creator_cls = getattr(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue