Они на самом деле не совсем одно и то же.Любая из тех задач, которые содержат слово «схема», действует в файле ... / db / schema.rb.schema.rb - это фактически состояние вашей схемы после применения всех миграций.Это может быть выполнено для восстановления вашей схемы, а не для выполнения всех миграций базы данных (что может занять много времени, если у вас много миграций).
Любая из задач со словом «структура», действует нафайл {Rails.env} _structure.sql.Этот файл используется, когда ваша схема содержит конструкции, которые нельзя выразить в файле schema.rb.Например, если вы используете функции, специфичные для конкретной РСУБД.Под прикрытием rails создает этот файл, используя любую утилиту дампа схемы, подходящую для вашей СУБД.Чтобы восстановить схему, он считывает файл и выполняет операторы SQL снова, используя инструмент, специфичный для СУБД.
Rails знает, идти ли по пути schema.rb или по маршруту Structure.sql, в зависимости от того, стоит ливы установили
config.active_record.schema_format =: sql
в вашем ... / config / application.rb