The schema.rb file is created from whatever your database looks like after each time migrations are run. This is why, if you drop a table, you need drop it in a migration. If you drop it manually, then no one else's database will get updated.

My guess would be that it was dropped in a migration, but then the migrations were maybe condensed in favor of using `db:schema:load`. But any time you delete migrations in favor of the current schema.rb, everyone on the team needs to be informed so that they can either run the migrations prior to deleting them, or so they can know that they need to reload from the updated schema.rb. Otherwise, you end up with the situation where anyone who doesn't run all the migrations before they're deleted will end up with those migrations never getting run (and they won't know to reload from schema unless you tell them, and then they'll end up pushing incorrect schemas after running other migrations).

Does that make sense?