###【前提】
[heroku]PHP(Laravel)でherokuにマイグレーションを行った際、以下のエラーメッセージが出てしまい、困っております。
ヒントや解決策などをご教授いただければ幸いです。
###【実現したいこと】
目標:1対1形式のリアルタイムチャットを作りたい
現在地:対話するユーザー毎にチャットルームを設けたい(user1とuser2→[1,2] user1とuser3→[1,3])
↓
chat_roomテーブルに[自分のuser_info_id,相手のuser_info_id]を格納できるようにしたい。
###【開発環境】
PHP7.3
Laravel5.8
MySQL8.0
Heroku使用時のDBアドオン:ClearDB MySQL5.5
###【エラーメッセージについて】
In Connection.php line 671: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(JSON_ARRAY()), `created_at` time stamp null, `updated_at` timestamp null) defaul' at line 1 (SQL: create table `chat_rooms` (`id` bigint unsigned not null auto_increment primary key, `user_info_json` text not null default (JSON_ARRAY()), `created_at` timest amp null, `updated_at` timestamp null) default character set utf8mb4 collate 'utf8mb4_unicode_ci') In Connection.php line 458: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(JSON_ARRAY()), `created_at` time stamp null, `updated_at` timestamp null) defaul' at line 1
【エラーが発生した該当ファイル】
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Query\Expression; use Illuminate\Support\Facades\Schema; class CreateChatRoomsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('chat_rooms', function (Blueprint $table) { $table->id(); $table->text('user_info_json')->default(new Expression('(JSON_ARRAY())')); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('chat_rooms'); } }
ClearDBのバージョンが古く、
$table->text('user_info_json')->default(new Expression('(JSON_ARRAY())'));の書き方ができないのかと推測しております。
ちなみに、ローカル環境ではマイグレーションが通りました。
もしそのような理由である場合、どのような記載をすればテーブルのカラムに配列を格納できるかを教えていただきたいです。
知識が不足している中での質問となってしまい、大変恐縮ですが、自作アプリの公開というビッグイベントを無事遂行すべく、お力添えいただけますと幸いです。
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー