Я пишу генератор миграции для плагина, который я пишу, и мне нужно уметь находить, какие уникальные индексы имеют таблица, поэтому я могу изменить существующие уникальные индексы, чтобы стать составным уникальным индексом. Я пытался найти способ получить доступ к индексам таблицы с помощью ActiveRecord. Я только смог найти метод ActiveRecord:: ConnectionAdapters:: PostgreSQLAdapter:: indexes, но, к сожалению, это доступно только для PosgreSQLAdapter. Мне нужно иметь возможность поддерживать другие основные базы данных.
Сначала я нашел файл schema.rb, чтобы найти индексы, это сработало сначала, но вскоре я понял, что это была плохая стратегия.
Я думал, что если ActiveRecord не предоставляет средства для этого для нескольких адаптеров базы данных, я могу написать конкретные запросы адаптера для извлечения информации индекса из таблицы. Если мне нужно прибегнуть к этому методу, что было бы хорошим способом определить используемый адаптер?
Если кто-то знает способ заставить ActiveRecord отображать информацию индекса таблицы, которая была бы идеальной.