2016-04-01 4 views
1

私はSchema :: createメソッドを使用するとトランザクションを作成しようとしていますが、動作しません。私のアプリケーションでは、別のDBに動的テーブルを作成する必要があります。ロールバックする必要があります。 Laravelは例外を起動しますが、ロールバックは機能しません。私はlaravelを使用しています。トランザクションLaravelスキーマの作成

+0

composer dumpautoを実行してからロールバックしてみます。 –

答えて

0

私はあなたがMySQLを使用していると仮定しています。 DDL文(create table、a​​lter tableなど)はトランザクション内でロールバックできません。 docsから

いくつかのステートメントはロールバックすることはできません。一般に、これらには、データベースの作成または削除、表またはストアド・ルーチンの作成、削除、または変更を行うデータ定義言語(DDL)文が含まれます。

このような記述を含まないようにトランザクションを設計する必要があります。ロールバックできないトランザクションで早期に文を発行し、その後別の文が失敗した場合は、ROLLBACK文を発行してトランザクションの完全な効果をロールバックすることはできません。

関連する問題