5
我想爲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
構造,有一個自定義PARAM在Index
構造包括允許該設置嗎?
謝謝!
如果一定要「字頭」的索引,你可能也使長度足夠長的時間,以通常分辨行。 (1024個氣味過多。) –