2017-04-21 6 views
0

php artisan migrateを使用して移行ファイルを実行しています。しかし、それはデータベースにテーブルを作成しません。次に、「ユーザーとパスワードをリセットした」移行ファイルを削除し、php artisan migrateコマンドを実行します。その後、新しいマイグレーションファイルが正常に実行され、データベースにテーブルが作成されます。Laravel移行ファイル

さらに、移行ファイルをさらに作成してコマンドを実行すると、データベースにテーブルが作成されません。再びテーブルを作成するために私が作成したマイグレーションファイルを削除しました。

私にこれを手伝ってください。新しい移行ファイルを実行するために1つまたは複数の移行ファイルを削除する必要があるたびに、

このエラーは何ですか。Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes

+0

)(あなたの移行ファイル –

+0

パブリック関数を表示してください { スキーマ::( '製品'、関数を作成(青写真$表){ $卓上>刻み( 'ID'); $テーブル - > $ table-> string( 'title'、140); $ table-> string( 'description'、500); $ table-> integer( '価格 '); $ 卓上>整数(' CATEGORY_ID '); $ 卓上>整数(' brand_id '); $ 卓上>タイムスタンプ(); $ 卓上>の文字列(' created_at_ip '); $ table-> string( 'updated_at_ip'); }); } –

+0

エラーを見つけましたか? –

答えて

0

ご使用のMySQLのバージョンが5.7未満の場合は、AppServiceProviderにデフォルトの文字列長を設定する必要があります。

use Illuminate\Support\Facades\Schema; 

public function boot() 
{ 
    Schema::defaultStringLength(191); 
} 

これは Laravel documentationに概説されています。

+0

はい、** AppServiceProvider **ファイルにこれを追加します。しかし、それは同じエラーを示しています。 '[Illuminate \ Database \ QueryException] SQLSTATE [42000]:構文エラーまたはアクセス違反:1071指定されたキーが長すぎます。構文エラーまたはアクセス違反:1071指定キーた [PDOException] SQLSTATE [42000]は:最大キー長は767バイト(一意 'employees_email_unique'(' email')を追加employees' 'テーブルを変更SQ L)であります長すぎる;最大キー長は767バイトです –