🤣🤣🤣 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.