В документации Flask-SQLAlchemy (http://flask-sqlalchemy.pocoo.org/2.1/config/) указано передавать подключения через SQLALCHEMY_DATABASE_URI в виде «mysql://username:password@server/db». Фишка в том, что я совершенно не хочу хранить username и password в коде, т.к. неудивительно забыть сменить их на какие-то другие перед отправкой в репозиторий (а судя по новостям, нередко бывает такое, что палят пароли именно заливая их на тот же GitHub).
Мне интересно, как же принято (в случае Flask-SQLAlchemy или более общем случае) хранить такие конфиги (в каком файле, в каком виде), чтобы их можно было бы передать в .gitignore
и больше не париться.
UPD: достаточно оформить хорошо тему на лоре, как правильный запрос приходит в голову.
Решение находится в http://exploreflask.com/en/latest/storing.html.
Для Ъ: в .gitignore
закидываем (это умеет делать, к примеру, плагин для PyCharm .ignore
...
# Flask stuff:
instance/
...
instance/config.py
в котором указываем
SQLALCHEMY_DATABASE_URI = "mysql://username:password@hostname/database"
Ну а используется это примерно так:
app = Flask(__name__, instance_relative_config=True)
app.config.from_object('config')
app.config.from_pyfile('config.py')
db = SQLAlchemy(app)