Skip to content

[データベース]詳細閲覧時にデータの更新日が更新される不具合を修正しました #2207

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 11, 2025

Conversation

gakigaki
Copy link
Contributor

@gakigaki gakigaki commented Jun 9, 2025

概要

データベースの詳細画面を閲覧した際に、意図せず最終更新日が現在の日時で上書きされてしまう不具合を修正しました。

変更の目的

「更新日型」として設定された項目が、データの詳細を閲覧するだけで毎回更新されてしまう問題を解決するため。本来、この項目はデータが実際に編集された際にのみ更新されるべきです。

変更内容

証跡用の更新日(updated_at)と、画面表示用の最終更新日を分離することで対応しました。

  • databases_inputsテーブルに、最終更新日を管理するためのlast_col_updated_atカラムを追加しました。
  • 項目の更新時に、Observerを利用してlast_col_updated_atを更新するようにしました。
  • 画面やCSVに出力する更新日型のデータを、従来のupdated_atから新設したlast_col_updated_atに変更しました。

テスト

以下の手順で、修正が正しく反映されていることを画面上で確認しました。

  1. 「更新日型」の項目を持つデータベースを用意し、データを登録します。
  2. 登録したデータの詳細画面を閲覧します。
  3. 一覧画面に戻り、最終更新日が閲覧した日時に変わっていないことを確認します。
  4. データを編集して保存し、一覧画面で最終更新日が正しく更新されていることを確認します。
  5. CSVを出力し、「更新日型」の項目が画面と同様の値になっていることを確認します。

特記事項

  • NC2およびNC3からの移行プログラムは、今回の修正範囲外です。

レビュー完了希望日

関連Pull requests/Issues

参考

DB変更の有無

有り

チェックリスト

gakigaki added 2 commits June 9, 2025 16:44
- databases_inputs.last_col_updated_atを項目追加
- databases_inputs.last_col_updated_atはオブザーバーで更新する
- 画面にはdatabases_inputs.last_col_updated_atを表示する
@gakigaki gakigaki added bug バグ・不具合連絡 plugin(database) データベースプラグイン labels Jun 9, 2025
@gakigaki gakigaki marked this pull request as ready for review June 9, 2025 09:02
@gakigaki gakigaki requested a review from masaton0216 June 10, 2025 06:11
Copy link
Contributor

@masaton0216 masaton0216 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gakigaki
対応お疲れ様です。

1件コメントというか検討したい内容です。
明確に答えを持ち合わせてないのですが、一時保存の場合も更新されてしまうのはどうすべきかな?と。
更新日は、閲覧者に対する「登録内容の更新お知らせ」的な意味合いがあるかと思うので、そう考えると一時保存時はまだ閲覧者に対して変更内容を見せていない段階の為、更新日も更新しない、が正しいような気もしますが、どうでしょ?

@gakigaki
Copy link
Contributor Author

@masaton0216
レビューありがとうございます。

一時保存については当改修内容で問題ないという認識です。
データベースプラグインにおいて、一時保存状態のデータは一般ユーザーから見えなくなります。
よって、一般ユーザーは一時保存状態の更新日を確認できないためです。

Copy link
Contributor

@masaton0216 masaton0216 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

確認ありがとうございます。マージします。

@masaton0216 masaton0216 merged commit 19b01ed into master Jun 11, 2025
1 check passed
@masaton0216 masaton0216 deleted the database-last-updated branch June 11, 2025 02:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug バグ・不具合連絡 plugin(database) データベースプラグイン
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants