rails consoleでユーザーを削除したが、u.delete -\u003e メールがまだ「使用中」である

以前、管理者アカウントに割り当てていたメールアドレスがドメイン変更後に存在しなくなったため、メールアドレスを変更しようとしたのですが、古いメールアドレスへの確認が必要であるためできませんでした。

長い話の要約ですが、いくつかの操作を行い、いくつかのメールアドレスを変更し、別の管理者アカウントを作成し、コンソールを使用して2番目の管理者アカウントを削除しました。しかし、現在、2番目の管理者アカウントに割り当てていたメールアドレスを再利用することができません。

サポートかバグのどちらに分類すべきか迷っています。
正直なところ、バックアップを使って復元することも可能ですが、その前に、これはバグでしょうか?完全なリセットやバックアップからの復元なしにこれを修正する方法はありますか?

データエクスプローラープラグインをインストールすると、削除したいメールアドレスがまだ残っているテーブルを確認できます。

どのテーブル(複数可)を検索または削除するかを知る必要があります。異なるスキーマを持つ100以上のテーブルに対して、100以上の独自に作成されたクエリを手動で生成することを提案しているわけではない限り、これは不可欠です。

この投稿を「バグ」カテゴリに再分類していただければ幸いです。

これはおそらくバグではないようです。コンソールからユーザーを削除した方法によります。

コンソールから以下のように検索してみてください。

UserEmail.where(email: '<your_deleted_users_email>')

結果が返ってきた場合は、返された user_id でユーザーを検索してみてください。

User.find_by(id: <email_record_id>)

推測ですが、削除したユーザーにそのメールアドレスが割り当てられていたため、ユーザーは返されないでしょう。その場合、メールレコードに対して destroy! を呼び出すのは安全です。実行する前に、必ずサイトの最新のバックアップを取得してください。

もしそのメールが既存のユーザーに割り当てられている場合は、メールレコードを削除しないでください。

「いいね!」 3

コンソールからユーザーを削除するには、UserDestroyer を使用します。詳細は Deleting Users in rails console - #2 by jomaxro を参照してください。

メモ:これを #howto:faq に変換する

「いいね!」 5