2016-02-17 29 views
12

以下のコードをスキーマビルダーで使用してテーブルを作成しています。スキーマビルダー:存在しない場合はテーブルを作成

新しいテーブルを作成する必要がある場合、すべての古いスクリプトが実行され、テーブルが既に存在するというエラーが表示されます。

スキーマビルダーを使用していない場合は、テーブルを作成する方法はありますか?

+0

laravels組み込みの移行ツールを使用していますか? – Morten

+0

はい、5.2.15バージョン。 – Pankaj

+0

そして 'php artisan migrate'を実行しますか?ファイルが正常に実行された場合は、ファイルを再度実行しないようにデータベースに保存する必要があります。 – Morten

答えて

25

一つだけチェックがLaravelスキーマ機能hasTableであり、新しいテーブルを作成するには、この

if (!Schema::hasTable('tblCategory')) { 
    // create the tblCategory table 
} 
+2

また、 'if(Schema :: hasTable( 'tblCategory')){return; } 'を追加してください。 –

2

Please check the answer here

を試してみてください。

しかし、存在を確認する前にテーブルを削除する場合、スキーマにはdropIfExistsという名前の関数があります。

Schema::dropIfExists('table_name'); 

テーブルが存在する場合、テーブルを削除します。

関連する問題