Рубрики
Uncategorized

SQLALCHEMY OIDE LIFECYCLE

Объект Lifecycle Напомним, мы можем вставить новые записи в базу данных с помощью SQLALCHEMY … Теги с новичками, базой данных, DEVOPS, программированием.

Объект жизненного цикла вспоминает

Мы можем вставить новые записи в базу данных, используя SQLalchemy бежать.

  • человек (имя = ‘amr’)

  • db.session.add (человек)

  • db.session.commit ()

Что будет создавать транзакцию для вставки в экземпляр человека в нашей модели/таблице и сохранять его в базу данных при вызове Commit ().

db.session:

Это не до тех пор, пока мы не выполним db.session (), что мы получаем что-нибудь в базу данных.

Каждый раз, когда мы хотим взаимодействовать с базой данных, мы запускаем соединение и завершите соединение, когда все взаимодействия выполняются.

В этом сеансе взаимодействия мы завели создание транзакций, которые мы примите к базе данных каждый раз, когда мы хотим совершить работу в базе данных.

Так что важно иметь в виду:

  • Предлагаемые изменения базы данных не немедленно привержены к базе данных после определения.

  • Изменения проходят через этапы, чтобы обеспечить способность «отменить» ошибку.

  • прежде чем совершить его в базу данных.

Есть 4 этапа:

1- переходный.

2- в ожидании.

3-летний.

4- совершенный.

Что такое вспомогательный:

Flush — это событие, которое занимает ожидание и переводит их в команды SQL, готовые к привержению в базе данных.

Вставках, флеш позволяет (будущее) основных значений ключей к существующим.

Не то же самое, что и коммит.

Ничто не сохраняется в базе данных, пока произойдет флеш.

Нам до сих пор надо вручную призывать совершение для совершения.

Флеш принимает в ожидании изменения и переводит их в команды, готовые к совершенным. Такое случается:

Когда вы называете запрос. Или

на db.session.commit ()

Офис приводит к сохранению изменений в базе данных + позволяет DB. Начните с новой транзакции.

Когда заявление уже было покрашено, SQLalchemy Знает не делать работу снова о переводах действий в операторы SQL.

Объясните четыре этапа:

1- Переходный: существует объект, он был определен.

user1 (name = ‘amr’)

… Но не привязан к сеансу (пока).

2- Ожидание: объект был прикреплен к сеансу.

… «Отмена» становится доступной через DB.Session.Rollback ().

… Ждет, чтобы произойти смыть.

3 — покрасна: о том, чтобы быть приверженным в базе данных, перевод действий в SQL

… С заявлениями команд для двигателя.

4- Сделано: вручную призвал к изменению для сохранения базы данных (постоянно);

… Транзакция сессии очищена для нового набора изменений.

Резюме:

В сеансе мы создаем транзакции каждый раз, когда мы хотим совершить работу в базе данных.

Предлагаемые изменения не сразу привержены базе данных и вместо этого проходят этапы, чтобы допустить обновления.

Способность отменить разрешенную через DB.Session.Rollback ().

Главный блог Отказ

Оригинал: «https://dev.to/mahmoudessam/sqlalchemy-object-lifecycle-4k1i»