Column
定義内のインデックスまたはIndex
コンストラクタを使用してインデックスの最大限度を設定したいのですが、それを達成する方法が見つかっていないようです。SQLAlchemyのインデックス制限を設定する
基本的に、私は、このMySQLの動作をシミュレートしたいと思います:
CREATE TABLE some_table (
id int(11) NOT NULL AUTO_INCREMENT,
some_text varchar(2048) DEFAULT NULL,
PRIMARY KEY (id),
KEY some_text (some_text(1024)), # <- this line
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPRESSED;
私のようなものだろうSQLAlchemyのでは:
class SomeTable(BaseModel):
__tablename__ = 'some_table'
__seqname__ = 'some_table_id_seq'
id = sa.Column(sa.Integer(11), sa.Sequence(__seqname__), primary_key=True)
some_text = sa.Column(sa.String(2048), index=True) # <- this line
を私はの限界を示唆している何かを見つけることができませんインデックスをカスタマイズすることができます。ような何か:
some_text = sa.Column(sa.String(2048), index=True, index_length=1024)
Column
コンストラクタのため、このオプションはIndex
コンストラクタの単なる別名であるため、私は推測し、この設定を許可するようにIndex
コンストラクタに含めるカスタムparamがありますか?
ありがとうございます!
あなたは「プレフィックス」インデックスは、あなたにもちょうど十分な長さは通常の行を区別するために長さを行うことができる必要がある場合。 (1024の臭いがひどいです) –