Сначала я бы предложил вам создать миграции. Мой инструмент выбора - alembic
. Чтобы создать проект alembic, выполните следующие шаги:
alembic init alembic
- В каталоге alembic в
env.py
необходимо назначить целевые метаданные. Это что-то вроде target_metadata = Base.metadata
, где Base - это декларативная база для моделей. - В
env.py
также следует импортировать модель Student
. Так что наш alembic может распознавать изменения модели. - В файле конфигурации
alembic.ini
необходимо указать путь в БД, для которого вы назначите свой путь sqlite:///C:\\Users\\...\\myDB.db
для sqlalchemy.url
. - После того, как вы настроили alembic, запустите
alembic revision --autogenerate -m "Message"
, который обнаружит изменения в вашей Student
модели и создаст миграции. Запустите alembic upgrade head
для применения этих миграций. - Теперь ваша таблица
Student
создана в sqlite и готова к использованию. - Создайте сеанс из созданного вами движка с помощьючто-то вроде
Session = sessionmaker()
Session.configure(bind=engine)
- Из этой фабрики
Session
мы можем создать объект сеанса и использовать его для выполнения операций SQL. например,
session = Session()
students = session.query(Student).all()
for student in students:
print(student.seq)
print(student.name)
- Этот код напечатает всех студентов.
Это объяснение довольно краткое, но я надеюсь, что оно поможет вам начать использовать sqlalchemy.
Примечание: я не рассматривал сценарии веб-приложений и аналогично. В этом случае вам придется читать по scoped_session
.
. Для справки, вы можете пройти по этому коду по номеру https://github.com/pranav93/sample_alembic_win
. Для alembic - https://alembic.sqlalchemy.org/en/latest/tutorial.html
.