Railsのstructure.sqlって何? 何のため?
Railsのプロジェクトを触っていると、db/structure.sql という巨大なファイルに出会います。 structure.sql は、ひとことで言うと 今のデータベースの構造を、ゼロから丸ごと再現するためのSQL命令をまとめた「完成形の設計図(スナップショット)」 です。しかもRailsが自動で生成・更新するファイルで、人が手で書くものではありません。 中身はこんなイメージです。 CREATE TABLE `deals` ( -- 「案件」テーブルを作る命令 `id` bigint unsigned NOT NULL, `name` varchar(255), ... ); CREATE TABLE `contacts` ( ... ); -- 「コンタクト」テーブルを作る命令 ...(全テーブル分つづく)... -- 末尾に「どの設計変更まで適用済みか」の台帳 INSERT INTO `schema_migrations` VALUES ('20260806000000'), ('20260805000000'), ... 前半に全テーブルの CREATE TABLE、末尾…