О, меня тут хорошенько отлупили по Rubocop
![]()
Offenses:
db/migrate/20231119010101_create_locations_topic_table.rb:6:7: C: Discourse/NoAddReferenceOrAliasesActiveRecordMigration: Методы AR add_reference, add_belongs_to, t.references и t.belongs_to
высокорискованны для больших таблиц и содержат слишком много скрытых операций.
Вместо этого напишите миграцию с disable_ddl_transactions! и используйте
пользовательский SQL для добавления нового столбца и выполнения CREATE INDEX CONCURRENTLY. Используйте предложение IF NOT EXISTS,
чтобы миграцию можно было перезапускать, если она прервётся на полпути.
t.references :topic, foreign_key: true
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Вот это, возможно, и есть часть проблемы.
Слишком много
— в этом и дело!
Живёшь — и учишься! ![]()