суббота, 21 марта 2015 г.

Вникаю в Python, генерирую классы для SQLAlchemy

Собственно изучаю Python как платформу для веб-разработки. Пока всё очень нравится. В качестве ORM фреймворка стал изучать SQLAlchemy, т.к. сегодня это стандарт де-факто для Python.

Встал вопрос как для SQLAlchemy сгенерить классы на основе существующей БД, писать всё руками совсем неохота. Поиски привели меня к sqlacodegen. Инсталится он просто: pip install sqlacodegen. Запускается из консольки: sqlacodegen mysql+mysqlconnector://user:password@localhost/dbname

То есть ему нужен коннектор. А вот с установкой коннектора под винду у меня возникли сложности. Ни один из популярных коннекторов из pip ставиться не захотел. Всем им понадобился C компилятор, а ставить студию или mingw мне не захотелось. Простое решение нашлось на сайте MySQL в виде готового инсталлятора под виндовс: http://dev.mysql.com/downloads/connector/python/

Эта связка отлично заработала и сгенерила мне нужные SQLAlchemy классы со всеми связями. sqlacodegen генерит код и выводит его в stdout. Поэтому нужно просто перенаправить вывод в нужный файл: sqlacodegen mysql+mysqlconnector://user:pass@localhost/dbname > model.py

Комментариев нет:

Отправить комментарий