piccolo-orm / piccolo

A fast, user friendly ORM and query builder which supports asyncio.
https://piccolo-orm.com/
MIT License
1.45k stars 91 forks source link

Improvements to locating `piccolo_conf.py` #325

Open dantownsend opened 3 years ago

dantownsend commented 3 years ago

Issue https://github.com/piccolo-orm/piccolo/issues/323 gave me some ideas about improvements to the way Piccolo looks for a piccolo_conf.py file.

I'm just documenting them here as ideas - they could be developed in the future if people think they're needed.

1. PICCOLO_CONF changes

The PICCOLO_CONF environment variable could accept a comma separated list of paths, in case you wanted Piccolo to look in multiple places.

# Piccolo would search for piccolo_conf.py in the current directory, and in an 'app' sub directory
export PICCOLO_CONF="piccolo_conf,app.piccolo_conf"

2. Add --piccolo_conf option to the CLI

When using the piccolo CLI, an extra parameter could be added which specifies where to look for the piccolo_conf.py file:

piccolo migrations check --piccolo_conf=app.piccolo_conf

3. .piccolo file

The contents would be something like:

PICCOLO_CONF=piccolo_conf_test

The precedence for finding a piccolo_conf.py file would then be as follows:

AliSayyah commented 3 years ago

I like these ideas, especially .piccolo. it seems like a permanent solution.