Reputation: 2179
I have an issue on running the upgrade command with Flask-Migrate. Originally I was trying to modify three tables at once and it hung, I narrowed it down to a specific table (the other upgrades worked without issue). I don't see any locks on the database. I'm using Postgres and just working in a development environment at the moment. The migrate command seems to work fine and generates the upgrade
method without any issues (see code)
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_column('equipment', 'criteria_notes')
# ### end Alembic commands ###
Once I run the upgrade command I get stuck here:
>flask db upgrade
INFO [alembic.runtime.migration] Context impl PostgresqlImpl.
INFO [alembic.runtime.migration] Will assume transactional DDL.
INFO [alembic.runtime.migration] Running upgrade 76bf72d8e0e4 -> 1723c01f0606, empty message
with a blinking cursor. When I exit out of the command window (I'm using windows) no changes have been applied.
I've tried
Upvotes: 12
Views: 5865
Reputation: 111
Had the same issue with heroku postgres. When the db is modified locally, the application starts to act wierd. What I do is I restart the dynos for the application
In cases where the application and the db are in different containers, restart the application.
Upvotes: 0
Reputation: 85
I had this same issue with MySql due to locks and this command did the trick for me.
sudo service mysql restart
Upvotes: 3
Reputation: 1526
I had the same issue, this one happened to me because of locks,verify it using
select * from pg_locks;
There were many PIDs corresponding to each lock,I restarted the postgresql service then ran the upgrade command it worked
sudo systemctl restart postgresql
flask db upgrade
Upvotes: 2
Reputation: 2101
You likely have other processes connected to this DB.
This happened to me, I had celery, uwsgi, and a separate custom process all connected to the flask DB on a production server, and I was wonder why the upgrades were hanging.
Once I shut these processes down manually the upgrade script ran fine without hanging.
In my case I also tried rebooting before realizing this, and this did not help because these other processes were programmed to startup on boot.
Upvotes: 7
Reputation: 299
In my case it was due to locks on the table.
select * from pg_locks;
in postgres showed me what was happening.
Upvotes: 0