Elixir で SQLAlchemy を使用していますが、SQLite を使用するとすべて正常に動作します。ただし、MySQL に切り替えると、テーブル名とカラム名の長さ制限 (64 文字) があります。いくつかの ManyToMany 関係を持つエンティティが非常に多くMyFirstEntity_rel_otherEntities__MySecondEntity_rel_theFirstEntities
、自動化された方法のように結果の長いテーブル名をクランプする方法が見つかりませんでした。
クラスとリレーション名によっては、ManyToOne リレーションシップの外部キー列名が長すぎます。create_engine("...", label_length = 64)
トリックを実行しなかっshortcolumns = True
たため、Python モジュール名全体をプレフィックスとして使用することを回避するために既に使用しています。
私が見る唯一の方法は、スキーマ全体を調べて、tablename (ManyToMany 関係の場合) と columnname (ManyToOne 関係の場合) を手動で定義することです。他のオプションはありますか?