移行を行うとき、Windowsコンソールで次のコマンドを実行します。
php artisan migrate
コマンドを実行すると、次のエラーが表示されます。
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'Market\Providers\Schema' not found
誰かが私を助けてくれたらとてもありがたいです。
そのページの上部に次の行を追加します(providersディレクトリの下のAppServiceProvider.php)
use Illuminate\Support\Facades\Schema;
この記事 を使用して、「Laravel 5.4:指定されたキーが長すぎますエラー」というメッセージで別の問題を修正したようです。次のコードを追加することをお勧めします
use Illuminate\Support\Facades\Schema;
public function boot()
{
Schema::defaultStringLength(191);
}
名前の付いたファイルに
AppServiceProvider.php
実際には、boot
メソッドのみを変更し、use
セクションの更新を忘れています。私は正しいですか?
記事は言う:
Laravel 5.4はデフォルトのデータベース文字セットに変更を加え、絵文字の保存のサポートを含むutf8mb4になりました。これは新しいアプリケーションにのみ影響し、MySQL v5.7.7以降を実行している限り、何もする必要はありません。
MariaDBまたは古いバージョンのMySQLを実行している場合、移行を実行しようとすると次のエラーが発生する可能性があります。
[Illuminate\Database\QueryException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email)) [PDOException] SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
移行コードが名前空間にあるようで、ここでPHPはスキーマクラスを探しています。ファイルの先頭に次を追加します。
use Schema;
または、完全修飾名前空間を使用してSchemaクラスを参照してください。
\Schema::table(...);