Ядро SQLAlchemy не жалуется на отсутствие первичного ключа, поэтому такую таблицу можно создать с помощью Table(…)
. Но для разработки ORM требуется способ идентификации строки, соответствующей объекту, поэтому невозможно использовать таблицу без первичного ключа в ORM.
Зачем вам нужно добавить этот индекс позже? Это реальное требование или попытка решить какую-то проблему, которая, вероятно, может быть решена другим способом? Если вам нужен составной первичный ключ, его можно определить с помощью аргумента primary_key=True
в нескольких Column
с или указав PrimaryKeyConstraint(…)
в __table_args__
.