質問するログイン新規登録

質問編集履歴

1

最新のschemaを追記しました。

2021/01/12 12:26

投稿

punchan36
punchan36

スコア105

title CHANGED
File without changes
body CHANGED
@@ -23,10 +23,40 @@
23
23
  from C:/Users/hoge/vendor/bundle/ruby/2.6.0/gems/sqlite3-1.4.2/lib/sqlite3/statement.rb:108:in `step'
24
24
  ```
25
25
 
26
- ### 該当のソースコード
27
26
 
27
+ ### 試したこと
28
+ 1. 試しにユーザーを新規作成し、何のアクションもしないままユーザーの削除を試みると上手く削除出来ました。
29
+
30
+ 2. 本アプリにはフォロー、投稿、コメント、いいね、メッセージ、通知機能などあるのですが、何かしらのアクションを起こした(また他ユーザーから起こされた)後だと削除が出来なくなります。やはり外部キーに問題があるようです。
31
+
32
+ 3. 「ある該当のアクションを行うとユーザーの削除が出来なくなる」のではなく「基本的に何でもアクションを行う(される)と削除が出来なくなる」現象が起こっています。
33
+ あらゆるアクションに共通して絡んでいるのは通知機能である`Notifications`テーブルですので、こちらが怪しいのではと踏んだのですが、以下の理由からそれもどうやら違うようです。
34
+
35
+ メッセージ機能において、ユーザーがトークルーム(`Room`, `Entry`テーブル)を作成するアクションがあってからメッセージのやり取りが出来るようになるのですが、このアクション自体は相手に通知がいきません。
36
+ 試しに「新規ユーザーA」を作成し、他のユーザーが「ユーザーA」とのトークルームを作った(メッセージの送信はしていない)段階で「ユーザーA」の削除を試みました(ユーザーAは何のアクションもしていない)。
37
+ しかしこれでも削除が出来なかったので、通知が絡んでいる・いないは関係ないようです…。
38
+
39
+ 4. 最後にモデルの関連付けを全てコメントアウトしてからユーザーの削除を試みましたが、それでも全く同じエラーが出ました。
40
+
41
+ ### 補足情報(FW/ツールのバージョンなど)
42
+
43
+ ruby 2.6.4p104
44
+ RubyGems 3.0.3
45
+ Rails 5.2.3
46
+
47
+ ### 追記
48
+
49
+ `rails db:schema:dump`を行い`schema.rb`を最新のものにしました。
50
+ また追記により文字数制限を超えてしまったので、前回載せていた古い方の`schema.rb`を削除しました。
51
+
52
+ ```
53
+ C:\Users\hoge\app\アプリ名>rails db:schema:dump
54
+ (0.4ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
55
+ ↳ bin/rails:4
56
+ ```
57
+
28
58
  **schema.rb**
29
- ```Ruby
59
+ ```
30
60
  ActiveRecord::Schema.define(version: 2021_01_08_054626) do
31
61
 
32
62
  create_table "active_storage_attachments", force: :cascade do |t|
@@ -175,24 +205,4 @@
175
205
  end
176
206
 
177
207
  end
178
- ```
208
+ ```
179
-
180
- ### 試したこと
181
- 1. 試しにユーザーを新規作成し、何のアクションもしないままユーザーの削除を試みると上手く削除出来ました。
182
-
183
- 2. 本アプリにはフォロー、投稿、コメント、いいね、メッセージ、通知機能などあるのですが、何かしらのアクションを起こした(また他ユーザーから起こされた)後だと削除が出来なくなります。やはり外部キーに問題があるようです。
184
-
185
- 3. 「ある該当のアクションを行うとユーザーの削除が出来なくなる」のではなく「基本的に何でもアクションを行う(される)と削除が出来なくなる」現象が起こっています。
186
- あらゆるアクションに共通して絡んでいるのは通知機能である`Notifications`テーブルですので、こちらが怪しいのではと踏んだのですが、以下の理由からそれもどうやら違うようです。
187
-
188
- メッセージ機能において、ユーザーがトークルーム(`Room`, `Entry`テーブル)を作成するアクションがあってからメッセージのやり取りが出来るようになるのですが、このアクション自体は相手に通知がいきません。
189
- 試しに「新規ユーザーA」を作成し、他のユーザーが「ユーザーA」とのトークルームを作った(メッセージの送信はしていない)段階で「ユーザーA」の削除を試みました(ユーザーAは何のアクションもしていない)。
190
- しかしこれでも削除が出来なかったので、通知が絡んでいる・いないは関係ないようです…。
191
-
192
- 4. 最後にモデルの関連付けを全てコメントアウトしてからユーザーの削除を試みましたが、それでも全く同じエラーが出ました。
193
-
194
- ### 補足情報(FW/ツールのバージョンなど)
195
-
196
- ruby 2.6.4p104
197
- RubyGems 3.0.3
198
- Rails 5.2.3