okusyu1971
@okusyu1971

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

1273 unknown collation: 'utf8mb4_0900_ai_ci を解決したい。

1273 unknown collation: 'utf8mb4_0900_ai_ci を解決したい。

php artisan migrate を実行してテーブル作成を行いたい。

発生している問題・エラー

AWS cloud9でlaravel10の環境を構築中です。

mariaDB 10.5.18でデータベースを作成し、phpMyAdminに接続してます。 テーブルの作成をと思い 以下コマンド入力すると

php artisan migrate

毎回以下のエラーが出て前に進めません。

SQLSTATE[HY000]: General error: 1273 Unknown collation: 'utf8mb4_0900_ai_ci' (Connection: mysql, SQL: select table_name as `name`, (data_length + index_length) as `size`, table_comment as `comment`, engine as `engine`, table_collation as `collation` from information_schema.tables where table_schema = 'SmpleApp' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED') order by table_name)

エラーの続きは以下

  at vendor/laravel/framework/src/Illuminate/Database/Connection.php:806
    802▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e
    803▕                 );
    804▕             }
    805▕ 
  ➜ 806▕             throw new QueryException(
    807▕                 $this->getName(), $query, $this->prepareBindings($bindings), $e
    808▕             );
    809▕         }
    810▕     }

      +36 vendor frames 

  37  artisan:24

自分で試したこと

エラーの記事でググるとたくさん出てきますが、直せません。

mariaDB のcollationとサーバーのcollatiomを統一しようmariaDB内で試みますがDBの知識が乏しく、自力での解決が難しそうな為投稿させて頂きました。

0

1Answer

Comments

  1. @okusyu1971

    Questioner

    ご回答ありがとうございます。

    回答頂いた内容を実行しようと試みておりますが、
    以下マイグレーションファイルの中にutf8mb4_0900_ai_ciの記述がなく、どこを書き換えるかがわかりません。そもそものファイルが違っているのでしょうか?

    
    use Illuminate\Database\Migrations\Migration;
    use Illuminate\Database\Schema\Blueprint;
    use Illuminate\Support\Facades\Schema;
    
    return new class extends Migration
    {
        /**
         * Run the migrations.
         */
        public function up(): void
        {
            Schema::create('users', function (Blueprint $table) {
                $table->id();
                $table->string('name');
                $table->string('email')->unique();
                $table->timestamp('email_verified_at')->nullable();
                $table->string('password');
                $table->rememberToken();
                $table->timestamps();
            });
    
            Schema::create('password_reset_tokens', function (Blueprint $table) {
                $table->string('email')->primary();
                $table->string('token');
                $table->timestamp('created_at')->nullable();
            });
    
            Schema::create('sessions', function (Blueprint $table) {
                $table->string('id')->primary();
                $table->foreignId('user_id')->nullable()->index();
                $table->string('ip_address', 45)->nullable();
                $table->text('user_agent')->nullable();
                $table->longText('payload');
                $table->integer('last_activity')->index();
            });
        }
        
    
        /**
         * Reverse the migrations.
         */
        public function down(): void
        {
            Schema::dropIfExists('users');
            Schema::dropIfExists('password_reset_tokens');
            Schema::dropIfExists('sessions');
        }
    };
    

    的外れな質問でしたらご容赦ください。

Your answer might help someone💌