python - Error while trying to migrate database (slalchemy, slqite3) -


i have next models.py file:

from app import db, bcrypt sqlalchemy import foreignkey sqlalchemy.orm import relationship   class blogpost(db.model):      __tablename__ = "posts"      id = db.column(db.integer, primary_key=true)     title = db.column(db.string, nullable=false)     desc = db.column(db.string, nullable=false)     author_id = db.column(db.integer, foreignkey('users.id'))      def __init__(self, title, desc):         self.title = title         self.desc = desc      def __repr__(self):         return "titulo >> " + self.title  class user(db.model):      __tablename__ = 'users'      id = db.column(db.integer, primary_key=true)     name = db.column(db.string, nullable=false)     email = db.column(db.string, nullable=false)     password = db.column(db.string, nullable=false)     posts = relationship("blogpost", backref="author")      def __init__(self, name, email, password):         self.name = name         self.email = email         self.password = password      def __repr__(self):         return "usuario >> ", self.name 

then ran:

python manage.py db init 

and fine, thing when tried modify models file make migration.. change line:

self.password = password 

to:

self.password = bcrypt.generate_password_hash(password) 

and when ran:

python manage.py db migrate 

it works, when tried upgrade with:

python manage.py db upgrade 

i next error:

"no support alter of constraints in sqlite dialect") notimplementederror: no support alter of constraints in sqlite dialect 

note: database has few records testing.. thank you!

alembic has changed how sqlite migrations done since tutorials alembic written. alter commands need use batch mode. mode still compatible other databases, if decide switch sqlite later.

for each table being altered, place operations inside with op.batch_alter_table('table_name'): block.

def upgrade():     op.batch_alter_table('table_name'):         op.alter_column(...) 

Comments

Popular posts from this blog

python - pip install -U PySide error -

arrays - C++ error: a brace-enclosed initializer is not allowed here before ‘{’ token -

cytoscape.js - How to add nodes to Dagre layout with Cytoscape -