{"url":"https://tech.repro.io/entry/2026/01/23/105732","provider_url":"https://hatena.blog","image_url":null,"width":"100%","published":"2026-01-23 10:57:32","blog_title":"Repro Tech Blog","title":"ActiveRecord\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u518d\u5165\u9580 - previous_changes\u306e\u843d\u3068\u3057\u7a74","description":"\u3053\u3093\u306b\u3061\u306fFT2(Feature 2 Unit)\u306e\u677e\u672c\u3067\u3059\u3002 Ruby on Rails \u3067\u597d\u304d\u306a\u30e9\u30a4\u30d6\u30e9\u30ea\u306f ActiveRecord \u3067\u3059\u3002 ActiveRecord \u306e\u5acc\u3044\u306a\u6a5f\u80fd\u306f callback \u3068 STI (Single Table Inheritance)\u3067\u3059\u3002 \u5f0a\u793e\u306e\u696d\u52d9\u3067\u306f\u3001Rails\u306eCallback\u3092\u4f7f\u3063\u3066DB\u306e\u5909\u66f4\u3092Kafka\u3078\u6d41\u3059\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002 previous_changes \u3068 Callback \u3092\u7d44\u307f\u5408\u308f\u305b\u305f\u3068\u304d\u3001Callback\u3067\u306e\u6319\u52d5\u3067\u7591\u554f\u304c\u51fa\u3066\u304d\u305f\u306e\u3067\u3001\u30a2\u30d7\u30ea\u3092\u4f5c\u308a\u306a\u304c\u3089Callback\u306e\u6319\u52d5\u3092\u78ba\u8a8d\u3057\u3066\u3044\u304d\u307e\u3059\u3002 \u306f\u3058\u3081\u306b \u3042\u306a\u305f\u306f\u8907\u6570\u306e\u7d44\u7e54\u306b\u8de8\u308b\u30e6\u30fc\u30b6\u2026","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftech.repro.io%2Fentry%2F2026%2F01%2F23%2F105732\" title=\"ActiveRecord\u30b3\u30fc\u30eb\u30d0\u30c3\u30af\u518d\u5165\u9580 - previous_changes\u306e\u843d\u3068\u3057\u7a74 - Repro Tech Blog\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","height":"190","version":"1.0","author_url":"https://blog.hatena.ne.jp/reproio/","blog_url":"https://tech.repro.io/","provider_name":"Hatena Blog","author_name":"reproio","categories":[],"type":"rich"}