emmett-framework / emmett

The web framework for inventors
BSD 3-Clause "New" or "Revised" License
1.06k stars 71 forks source link

sqlite3.OperationalError: database is locked #210

Closed josejachuf closed 6 years ago

josejachuf commented 6 years ago

@gi0baro I have not used sqlite in a while. This error occurs when I want to apply the migration. To discard, the base is not open or in use by another application. After the error, checking the base, the only thing that has been created is the weppy_schema table

% weppy -a aplicacion migrations up

Performing upgrades against sqlite://database.sqlite Performing upgrade: -> cb93c82e8b0c (head), pm [ERROR] failed upgrading to -> cb93c82e8b0c (head), pm Traceback (most recent call last): File "/usr/home/jose/trabajos/ministerio-env/venv27/bin/weppy", line 11, in sys.exit(main()) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/weppy/cli.py", line 395, in main cli.main(args=args, prog_name=name) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/weppy/cli.py", line 240, in main return click.Group.main(self, args, kwargs) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/click/core.py", line 697, in main rv = self.invoke(ctx) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/click/core.py", line 1066, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/click/core.py", line 1066, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/click/core.py", line 895, in invoke return ctx.invoke(self.callback, ctx.params) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/click/core.py", line 535, in invoke return callback(args, kwargs) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/click/decorators.py", line 64, in new_func return ctx.invoke(f, obj, *args[1:], *kwargs) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/click/core.py", line 535, in invoke return callback(args, kwargs) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/weppy/cli.py", line 363, in migrations_up up(app, dbs, revision) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/weppy/orm/migrations/commands.py", line 244, in up Command(app, dals).up(revision) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/weppy/orm/migrations/commands.py", line 187, in up self.db.commit() File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/weppy/orm/base.py", line 226, in commit txn.commit() File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/weppy/orm/transactions.py", line 56, in commit self.adapter.commit() File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/pydal/adapters/init.py", line 56, in wrap return f(*args, **kwargs) File "/usr/home/jose/trabajos/ministerio-env/venv27/lib/python2.7/site-packages/pydal/adapters/base.py", line 859, in commit return self.connection.commit() sqlite3.OperationalError: database is locked

josejachuf commented 6 years ago

With w1.1.2 works fine

gi0baro commented 6 years ago

@josejachuf probably related with the connection manager rewrite. I need to inspect this accurately. though, running migrations on sqlite is not really a supported thing..

josejachuf commented 6 years ago

@gi0baro In this case it was a first migration.

gi0baro commented 6 years ago

@josejachuf can you try latest master?

josejachuf commented 6 years ago

@gi0baro, This works fine. Thanks