Короткая история
У меня есть техническая проблема со сторонней библиотекой, которую я, кажется, не могу легко решить иным способом, чем создание суррогатного ключа (несмотря на то, чточто мне это никогда не понадобится).Я прочитал несколько статей в Сети, не одобряющих использование суррогатных ключей, и я немного растерялся, если можно делать то, что я собираюсь сделать.
Длинная история
Мне нужно указать первичный ключ, потому что я использую SQLAlchemy ORM (который требует один), и я не могу просто установить его в __mapper_args__
, так как класс создается с помощью classobj, и мне еще предстоитнайдите способ сослаться на поле еще не существующего класса в соответствующем аргументе определения PK.Другая проблема заключается в том, что естественным эквивалентом PK является составной ключ, который слишком длинен для версии MySQL, которую я использую (и, как правило, плохая идея использовать такие длинные первичные ключи в любом случае).