この記事は株式会社エス・エム・エス Advent Calendar 2023の17日目の記事です。 Railsアプリケーションのライフサイクルにおいて、データベーススキーマの適切な変更は、システムの整合性と拡張性を保つ上で不可欠な要素です。 本記事では、Active Recordがデータベーススキーマ情報をどのように取得し、キャッシュしているのか、そしてこれを利用してRailsアプリケーションがどのように動作するかについて掘り下げます。 それを踏まえて、スキーマ変更の適切なタイミングについて検討して行きます。 ※本記事で使用するRailsとDBのバージョンは、Rails 7.1.2とPostgreSQL 15.5です。 Active Recordとデータベーススキーマ Active Recordを通じて得られるスキーマ情報 Active Recordは、データベーススキーマに関する情報をD
![計画的なDBスキーマ変更のためのRails Active Recordの実践的知識 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/fa26a10ffd2456db7bdbf32d98fa6d984b29f017/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Fadvent-calendar-ogp-background-f625e957b80c4bd8dd47b724be996090.jpg%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU4JUE4JTg4JUU3JTk0JUJCJUU3JTlBJTg0JUUzJTgxJUFBREIlRTMlODIlQjklRTMlODIlQUQlRTMlODMlQkMlRTMlODMlOUUlRTUlQTQlODklRTYlOUIlQjQlRTMlODElQUUlRTMlODElOUYlRTMlODIlODElRTMlODElQUVSYWlscyUyMEFjdGl2ZSUyMFJlY29yZCVFMyU4MSVBRSVFNSVBRSU5RiVFOCVCNyVCNSVFNyU5QSU4NCVFNyU5RiVBNSVFOCVBRCU5OCZ0eHQtY29sb3I9JTIzM0EzQzNDJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDbWlkZGxlJnM9MjhkZTMxNjhiNTQyZjNmMjNmYTFmNzFmMjg4NTM3ZmU%26mark-x%3D142%26mark-y%3D151%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTcxNiZ0eHQ9JTQwdGtvZGFrJnR4dC1jb2xvcj0lMjMzQTNDM0MmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzImdHh0LWFsaWduPWxlZnQlMkN0b3Amcz02NDhjY2Y0Y2RmZjI3YWUxODM3ZWIwNmE1N2M3OTYwMQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D486981d91b599255935d0a16ce9b777c)