Comment désactiver les transactions dans ActiveRecord de Rails? J'ai une situation spécifique où je veux qu'ils s'en aillent, je n'arrive pas à trouver quelque chose d'utile là-bas. Est-ce même possible?Désactiver les transactions dans ActiveRecord
1
A
Répondre
3
Pauvre homme de « aucune transaction »
# Force the loading of AR stuff
ActiveRecord::Base.connection.execute('SELECT 1')
# Remove transactions
ActiveRecord::ConnectionAdapters::MysqlAdapter.class_eval do
def begin_db_transaction
end
def commit_db_transaction
end
end
-3
transaction
est une méthode de classe sur ActiveRecord :: Base vous pouvez donc le faire comme ceci:
Model.transaction do
...
end
ou si vous préférez le faire sans modèle spécifique:
ActiveRecord::Base.transaction do
...
end
Il peut dépend également de la base de données que vous utilisez, je sais pour sûr que cela fonctionne sur mysql mais pas sur les autres.
0
similaires à la réponse de Daniel, mais je l'ai trouvé que je devais désactiver également savepoints pour fonctionner. Testé sur Rails 3.2.22.2.
ActiveRecord::ConnectionAdapters::Mysql2Adapter.class_eval do
def begin_db_transaction
end
def commit_db_transaction
end
def create_savepoint
end
def rollback_to_savepoint
end
def release_savepoint
end
end
Questions connexes
- 1. Désactiver les transactions implicites
- 2. Traitement des erreurs dans les transactions ActiveRecord?
- 3. Transactions Castle ActiveRecord + NHibernate pour les nuls
- 4. Django admin: désactiver les transactions DB
- 5. ActiveRecord et les transactions entre `before_save` et` save`
- 6. rails/mysql - comment désactiver l'erreur ActiveRecord :: StatementInvalid?
- 7. groupes Entités dans les transactions
- 8. Gestion des transactions dans les applications Web
- 9. Comment tester les transactions MySQL?
- 10. Question sur les transactions MySQL
- 11. mysqli_multi_query et les transactions mysql
- 12. Hibernate Informations sur les transactions
- 13. transactions dans MS Access
- 14. Les transactions effectuées avec mysql_real_escape_string
- 15. Transactions dans MVC asp.net
- 16. aliasing find_by méthodes dans les rails ActiveRecord
- 17. Rails: associations d'impression dans ActiveRecord les inspecteurs
- 18. Trouver les nouveaux objets dans ActiveRecord
- 19. Filtrage des requêtes ActiveRecord dans les rails
- 20. Evitez les SHOW FIELDS dans ActiveRecord
- 21. Rails 3. Transactions imbriquées. Exception dans un bloc enfant
- 22. Castle ActiveRecord: TransactionScope
- 23. Comment désactiver les journaux Rails SQL?
- 24. Transactions dans LINQ to SQL
- 25. ActiveRecord: comment trouver les contraintes?
- 26. Remplacer les méthodes d'attributs ActiveRecord
- 27. ActiveRecord: Trouver sans les associations
- 28. Transactions simples
- 29. Disjonction dans ActiveRecord
- 30. Comment gérer les transactions java ee?
Vous avez mal interprété la question. Je veux désactiver les transactions, ne pas les utiliser. Vos exemples utilisent explicitement les transactions. ActiveRecord utilise des transactions à différents points, et ce sont celles que je veux supprimer. –
Marqué celui-ci pour être hors de propos. –
Merci pour la réponse, mcostanza. Cela fonctionne pour moi, même si ce n'est pas pour l'OP. –