手動で変更すべきではない箇所を変えて、Nullに戻せなくなった場合の対策を紹介します。
Cashierインストール後、【stripe_id】カラムなどを手動で変更すると、下記のようなエラーが出ます。
Unrecognized request URL (GET: /v1/customers/). If you are trying to list objects, remove the trailing slash.
If you are trying to retrieve an object, make sure you passed a valid (non-empty) identifier in your code.
エラーが出ても大丈夫。
phpMyAdmin上で、値を簡単にNULLにできます。
phpMyAdminにログインし、問題のセルをダブルクリック。
すると、このようにNULL入力欄が出てきます。
チェックを入れれば、Nullに戻ります。
ただ、そもそもこんなふうにNullにするオプションが出てこない場合には、stripe_idカラムがnullableになっていない可能性があります。
phpMyAdminであれば、Userテーブルの「構造」タブをチェックしてみてくださいね。
この場合、stripe_idの属性をnullable(null値OK)の設定にする必要があります。
手順は次のとおりです。
stripe_idカラムをnullableにする手順
まずは下記コマンドでマイグレーションファイル作成。
1 |
php artisan make:migration change_stripe_id_to_nullable_to_user_table --table=users |
作成したマイグレーションファイルで、次のように、stipe_idカラムの属性を変更します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public function up() { Schema::table('users', function (Blueprint $table) { $table->string('stripe_id')->nullable()->change(); }); } public function down() { Schema::table('users', function (Blueprint $table) { $table->string('stripe_id')->nullable(false)->change(); }); } |
あとは migrate実行で完了。
1 |
php artisan migrate |
Userテーブルのstripe_idがnull値OKになっているか確認してみてくださいね。