bir dizin sınırı ayarlama Column
tanımında veya yalnızca Index
yapıcı aracılığıyla bir dizin için bir maksimum sınır ayarlamak istiyorum ancak bunu başarmanın bir yolunu bulmak için görünmüyor.SQLAlchemy
Temelde, bu MySQL davranışını simüle etmek istiyorum:
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;
ben gibi bir şey olurdu sqlalchemy In:
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
ama limitini öneririm şey bulamıyorum endeks özelleştirilebilir. gibi bir şey:
some_text = sa.Column(sa.String(2048), index=True, index_length=1024)
Ben Column
yapıcısı için bu seçenek Index
yapıcısı için sadece bir takma olduğundan sanırım, bu ayarı izin vermek Index
yapıcı dahil etmek için bir özel param var mıdır?
Teşekkürler!
sen 'öneki' bir indeks, siz de sadece yeterince uzun genellikle satırları ayırt etmek uzunluğu yapabilir gerekiyorsa . (1024 aşırı kokuyor.) –