在注册过程中,我使用 Transaction 来包含帐户设置中涉及的所有操作,以便在出现问题时可以回滚。
最后发生的一项是计费过程,如果支付成功,则调用 Commit 操作以完成帐户创建,如果说用户的卡被拒绝,我会回滚。
但是,我想知道最好的方法是将尝试计费的日志写入数据库,而该特定的写入操作不会被保护其他数据库操作的事务“覆盖”。这在 MySQL 中可能吗?有问题的日志表不依赖于任何其他表。由于在我们开始使用交易之前创建的遗留支付库,在回滚操作之后保留应用程序中的数据以将其写入有些困难。如果 MySQL 有解决方案,我想避免这种情况。