🤣🤣🤣 how to do deceive alembic receive a "right" parameter. 

class col:
    def __init__(self, name):
        self.name = name
    def __str__(self):
        return self.name

class model(db.Model):
    .....
    __table_args__ = (
        Index('idxname', func.lower(col('name')) )
    )
    .....


but i got this migration code:    op.create_index('idx_users_name', 
'users', [sa.text('lower(NULL)')], unique=True)

func.lower( string_type_param )  will got 
[sa.text("lower('string_type_param')"]

在 2018年9月11日星期二 UTC+8下午10:49:01,Mike Bayer写道:
>
> SQLAlchemy right now does not support reflection of so-called 
> "functional" indexes that have a SQL function or similar inside of 
> them.  Therefore Alembic can't autogenerate these in terms of a table 
> that already exists because there's nothing to compare towards, so you 
> need to do those indexes manually if you are adding it to an existing 
> model. 
>
> On Tue, Sep 11, 2018 at 12:59 AM, Yingchen Zhang <[email protected] 
> <javascript:>> wrote: 
> > class InviteCode(db.Model): 
> >     __tablename__ = 'invite_code' 
> >     id = db.Column(db.BigInteger, primary_key=True, autoincrement=True) 
> >     code = db.Column(db.VARCHAR(32), nullable=False) 
> >     created_at = db.Column(db.TIMESTAMP(True), nullable=False) 
> >     status = db.Column(db.VARCHAR(1), nullable=False, 
> server_default='0') 
> >     user_id = db.Column(db.BigInteger, nullable=True, 
> server_default=None) 
> > 
> >     __table_args__ = ( 
> >         Index('idx_invite_code', func.lower(code), unique=True),   
> <------ 
> > not work, migrations file have not this operation 
> >         Index('idx_invite_userid', 'user_id', unique=False), 
> >     ) 
> > 
> >     def __init__(self, code=None, created_at=None, status=None, 
> > user_id=None): 
> >         self.code = code 
> >         self.created_at = created_at if created_at is not None else 
> > arrow.utcnow() 
> >         self.status = status 
> >         self.user_id = user_id 
> > 
> > 
> > 
> > -- 
> > SQLAlchemy - 
> > The Python SQL Toolkit and Object Relational Mapper 
> > 
> > http://www.sqlalchemy.org/ 
> > 
> > To post example code, please provide an MCVE: Minimal, Complete, and 
> > Verifiable Example. See http://stackoverflow.com/help/mcve for a full 
> > description. 
> > --- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "sqlalchemy" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to [email protected] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > Visit this group at https://groups.google.com/group/sqlalchemy. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
SQLAlchemy - 
The Python SQL Toolkit and Object Relational Mapper

http://www.sqlalchemy.org/

To post example code, please provide an MCVE: Minimal, Complete, and Verifiable 
Example.  See  http://stackoverflow.com/help/mcve for a full description.
--- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to