Один из центральных принципов ОО-дизайна - «Состав предпочтения по сравнению с наследованием», что позволяет предпочесть шаблон «Стратегия». Очевидно, это зависит от того, чего вы пытаетесь достичь в конкретном сценарии.
Вы не должны добавлять его в репозиторий git.
Это файл, автоматически создаваемый rails, когда вы запускаете миграции с вашим файлом database.yml, настроенным для подключения к базе данных mysql. Вы можете рассматривать его как альтернативу schema.rb
Я считаю, что вы можете заставить рельсы создать его, добавив в свой environment.rb:
config.active_record.schema_format = :sql
Когда он присутствует, этот файл используется, например:
rake db:test:clone_structure
Редактировать
Соответствующий раздел в Руководствах по Ruby On Rails. http://guides.rubyonrails.org/migrations.html#schema-dumping-and-you
Они рекомендуют проверять это в системе контроля версий вики.
Лично мне нравится держать это подальше от Это. Мне нравится иметь возможность выполнять все миграции очень быстро. Для меня это хороший знак. Если миграции становятся медленными, я чувствую, что больше не могу полностью контролировать свое окружение. Медленная миграция обычно означает, что у меня есть много данных в моей базе данных разработки, что я считаю неправильным.
Однако в настоящее время это, похоже, вопрос личного вкуса. Следуйте своим инстинктам в этом.
. Он создается, когда вы запускаете задачу rake для клонирования базы данных разработки в тестовую базу данных. База данных разработки выводится в SQL, который затем считывается в вашу тестовую базу данных. Вы можете смело его удалить.
s создается, когда вы запускаете задачу rake для клонирования базы данных разработки в тестовую базу данных. База данных разработки выводится в SQL, который затем считывается в вашу тестовую базу данных. Вы можете смело его удалить. s создается, когда вы запускаете задачу rake для клонирования базы данных разработки в тестовую базу данных. База данных разработки выводится в SQL, который затем считывается в вашу тестовую базу данных. Вы можете смело его удалить.