I've never done this, but I see an alternative syntax is:

ALTER TABLE invite_code ALTER COLUMN created_at TYPE TIMESTAMP WITH
TIME ZONE USING created_at::timestamp

...so maybe you could use the "postgres_using" flag?

http://alembic.zzzcomputing.com/en/latest/ops.html#alembic.operations.Operations.alter_column.params.postgresql_using

Simon

On Thu, Jul 26, 2018 at 11:47 AM Yingchen Zhang <cevin.che...@gmail.com> wrote:
>
> use PostgreSQL change column type need `cast` like `ALTER TABLE invite_code 
> ALTER COLUMN created_at::timestamp TYPE TIMESTAMP WITH TIME ZONE `,
> but sqlalchemy auto generated is not use, how specify it.
>
> auto generated sql : ALTER TABLE invite_code ALTER COLUMN created_at TYPE 
> TIMESTAMP WITH TIME ZONE
>
> 在 2018年7月26日星期四 UTC+8下午6:16:10,Simon King写道:
>>
>> On Thu, Jul 26, 2018 at 11:03 AM Yingchen Zhang <cevin....@gmail.com> wrote:
>> >
>> > old model
>> >
>> > class User(db.Model):
>> >     __tablename__ = 'users'
>> >     id = db.Column(db.BigInteger, primary_key=True)
>> >     name = db.Column(db.VARCHAR(50), nullable=False)
>> >
>> >     email = db.Column(db.VARCHAR(200), nullable=False)
>> >
>> >     time = db.Column(db.INTGER, nullable=False)
>> >
>> >
>> > new model
>> >
>> > class User(db.Model):
>> >     __tablename__ = 'users'
>> >     id = db.Column(db.BigInteger, primary_key=True)
>> >     name = db.Column(db.VARCHAR(50), nullable=False)
>> >
>> >     email = db.Column(db.VARCHAR(200), nullable=False)
>> >
>> >     time = db.Column(db.TIMESTAMP(timezone=True), nullable=False)
>> >
>> >
>> > new database table and is still empty, so do not ask why... emmmm
>> >
>> > I use flask-sqlalchemy migration tool. When I modified User mode and run 
>> > `python manager.py db migrate`.got :
>> >
>> > `INFO  [alembic.env] No changes in schema detected.`
>> >
>> > So, Sqlalchemy migrate tool only support create and drop ?
>>
>> Alembic (the library that flask-sqlalchemy is using for migrations)
>> supports changing column types. However, it doesn't *auto-detect*
>> changes of column types by default:
>>
>> http://alembic.zzzcomputing.com/en/latest/autogenerate.html#what-does-autogenerate-detect-and-what-does-it-not-detect
>>
>> """
>> Autogenerate can optionally detect:
>>
>> Change of column type. This will occur if you set the
>> EnvironmentContext.configure.compare_type parameter to True, or to a
>> custom callable function. The feature works well in most cases, but is
>> off by default so that it can be tested on the target schema first. It
>> can also be customized by passing a callable here; see the section
>> Comparing Types for details.
>> """
>>
>> Hope that helps,
>>
>> Simon
>
> --
> 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 sqlalchemy+unsubscr...@googlegroups.com.
> To post to this group, send email to sqlalchemy@googlegroups.com.
> 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 sqlalchemy+unsubscr...@googlegroups.com.
To post to this group, send email to sqlalchemy@googlegroups.com.
Visit this group at https://groups.google.com/group/sqlalchemy.
For more options, visit https://groups.google.com/d/optout.

Reply via email to