Краткий ответ:
add_index :table_name, :column_name, unique: true
Чтобы проиндексировать несколько столбцов вместе, вы передаете массив имен столбцов вместо одного имени столбца,
add_index :table_name, [:column_name_a, :column_name_b], unique: true
Для более детального управления существует метод "execute
", который выполняет прямой SQL.
Вот и все!
Если вы делаете это вместо обычных проверок старой модели, просто проверьте, как это работает. Я не уверен, что сообщение об ошибке пользователю будет таким же хорошим. Вы всегда можете сделать оба.