coderdojo-japan / coderdojo.jp

☯️ CoderDojo Japan (@coderdojo-japan) official website developed by Ruby on Rails with @YassLab team. 💎
https://coderdojo.jp
Other
61 stars 102 forks source link

統計情報から奈良、明日香、田原本分を削除 #435

Closed chicaco closed 5 years ago

chicaco commented 5 years ago

背景

427 で coderdojo.jp への掲載を希望しないとのことで奈良、明日香、田原本の Dojo 情報を削除したが、過去に集計された統計情報には残っている。

やること

統計情報から奈良、明日香、田原本分を削除する。 一度だけの処理なので、rails console からの実行を想定。

chicaco commented 5 years ago

確認事項

処理対象の Dojo の id は以下の通り。

id 道場名
35 奈良
169 明日香
177 田原本

手順

(1) dojo_event_services T からの削除

rails console で以下を実行 DojoEventService.where(dojo_id: [35,169,177]).destroy_all

(2) event_histories T からの削除

rails console で以下を実行 EventHistory.where(dojo_id: [35,169,177]).destroy_all

補足

本来であれば、rails consoleDojo.where(id: [35,169,177]).destroy_all を実行していれば、dependent の設定によって dojo_event_services, event_histories もまとめて削除できた。 が、dojos.yaml の直接編集で削除したため、これが行われなかった。

chicaco commented 5 years ago

@yasulab 手順のレビューをお願いします。 確認いただけたら、本番環境で実行します。

yasulab commented 5 years ago

@chicaco 確認しました! ✅ 手順書の記載ありがとうございます! 😆 こちらお手すきの際にご対応お願いします (>人< )✨

yasulab commented 5 years ago

本来であれば、rails consoleDojo.where(id: [35,169,177]).destroy_all を実行していれば、dependent の設定によって dojo_event_services, event_histories もまとめて削除できた。 が、dojos.yaml の直接編集で削除したため、これが行われなかった。

今回の件に限らず、GDPR の権利行使と同様にプライバシーポリシーなどに則って Dojo 情報の削除依頼があっても迅速に対応できるように、データ削除依頼への対応フローを /docs にまとめておくと良いかもですね 🤔💭 (GDPR ではないですが、日本の法律でもデータ削除依頼に対して対応するべき、みたいな項目は確かあったはずなので)

chicaco commented 5 years ago

今回の件に限らず、GDPR の権利行使と同様にプライバシーポリシーなどに則って Dojo 情報の削除依頼があっても迅速に対応できるように、データ削除依頼への対応フローを /docs にまとめておくと良いかもですね 🤔💭 (GDPR ではないですが、日本の法律でもデータ削除依頼に対して対応するべき、みたいな項目は確かあったはずなので)

恐らくレアケースであり、手順も仕組みもなかったので今回は仕方なかったかな、と。

bin/rails dojos:update_db_by_yaml のタスクで「yaml から削除された Dojo 情報は DB からも削除する」修正と、bin/rails dojo_event_services:upsert のタスクで「存在する Dojo のイベントサービスのみ upsert する」修正を行えば、対応フローは変更なしでよいのかな、と思いました。

yasulab commented 5 years ago

bin/rails dojos:update_db_by_yaml のタスクで「yaml から削除された Dojo 情報は DB からも削除する」修正と、bin/rails dojo_event_services:upsert のタスクで「存在する Dojo のイベントサービスのみ upsert する」修正を行えば、対応フローは変更なしでよい

確かに...!!!!!!!!! 素敵アイデア...!!!!!!!!!! 😻👍✨

chicaco commented 5 years ago

確かに...!!!!!!!!! 素敵アイデア...!!!!!!!!!! 😻👍✨

issue 化しておきますね~ 😉

chicaco commented 5 years ago

本番環境で実行し、問題なく終了しました。 結果は以下の通りです。

0508

chicaco commented 5 years ago

本番機での対応が済んだので、クローズします。

yasulab commented 5 years ago

ご対応ありがとうございます! 😆