As you're using Flask-SQLAlchemy you can do with application factory:
from flask_migrate import Migrate
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
migrate = Migrate(compare_type=True)
def create_app(config_name):
app = Flask(__name__)
...
# Migrate
migrate.init_ap
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.Operation
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
that's work. tks.
在 2018年7月26日星期四 UTC+8下午6:16:10,Simon King写道:
>
> On Thu, Jul 26, 2018 at 11:03 AM Yingchen Zhang > wrote:
> >
> > old model
> >
> > class User(db.Model):
> > __tablename__ = 'users'
> > id = db.Column(db.BigInteger, primary_key=True)
> > name = db.Column(db.
On Thu, Jul 26, 2018 at 11:03 AM Yingchen Zhang 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)
>
>
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.M