Выполняет ли alembic upgrade head
внутри транзакции, чтобы все изменения базы данных преуспели или не удалось? Если нет, то почему он был разработан таким образом?Выполнять миграцию обновлений alembic в транзакции
5
A
ответ
1
Мое понимание - это пробел внутри транзакции для баз данных, которые его поддерживают, например Postgres. Если вы находитесь в базе данных, которая не поддерживает это (cough MySQL cough), вы не можете использовать эту функцию.
1
Это то, что вы можете решить в пределах env.py
, в котором вы настраиваете поведение миграции в соответствии с вашими настройками. Вы можете увидеть, как убедиться, что ваши обновления произойдут в транзакции из шаблона, представленный в качестве примера для общих баз данных: https://github.com/zzzeek/alembic/blob/eaaafbca88f85f5432e04affe1f94cbf1ad06080/alembic/templates/generic/env.py#L64
def run_migrations_online():
...
with context.begin_transaction():
context.run_migrations()
Смежные вопросы
- 1. Провести миграцию alembic на фляжку. Экран фасоли.
- 2. Выполнять миграцию FluentMigrator из кода
- 3. Alembic обнаруживает изменения, но производит пустую миграцию с помощью --autogenerate
- 4. Необратимые миграции в Alembic
- 5. Как остановить миграцию Rails 3.1 из транзакции?
- 6. sqlite3: несколько обновлений в одной транзакции
- 7. одновременная миграция alembic db
- 8. Как выполнять транзакции в партиях на верблюде
- 9. Как выполнять вложенные транзакции в NHibernate?
- 10. Как выполнять обновления контента в транзакции с использованием Umbraco 7?
- 11. Безопасно ли выполнять миграцию в живой базе данных?
- 12. Как выполнить миграцию без запуска транзакции в Rails?
- 13. Как выполнять многие SQL-запросы как транзакции?
- 14. Как выполнять ручные транзакции с Windows ODBC
- 15. Как выполнять весенние транзакции LDAP и JPA
- 16. Alembic: Alembic редакция говорит Import Error
- 17. Alembic не обрабатывает column_types.PasswordType: колба + SQLAlchemy + Alembic
- 18. Alembic Migrations for Flask
- 19. SQLAlchemy, Alembic и новые экземпляры
- 20. Как мы можем выполнять облачную миграцию между облачными провайдерами?
- 21. Могу ли я редактировать файл миграции и выполнять миграцию?
- 22. Django South - Любой способ определить, нужно ли выполнять южную миграцию?
- 23. Доступ к моделям в миграциях alembic
- 24. Несколько обновлений db в одной транзакции с использованием mysqli
- 25. ли Grails домена удалить() количество обновлений в детских рамках транзакции
- 26. Alembic Second Database First Редакция
- 27. Выполнение транзакции Sql в транзакции
- 28. Не удается выполнить миграцию или обновление базы данных с помощью Flask-Migrate (Alembic)
- 29. Как проверить миграцию alembic, когда я хочу изменить данные через объекты Session внутри обновления?
- 30. выполнять две функции в одной транзакции с откатом
Почему он не будет работать в транзакции в MySQL –
MySQL DDL команда, как 'ALTER/CREATE/DROP TABLE' автоматически совершают любые транзакции в процессе, поэтому обычно «безопаснее» (по крайней мере, более предсказуемо) вообще не использовать транзакции. Другими словами, изменения схемы не содержатся в транзакциях. –