Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Auto-update #173

Closed
wants to merge 27 commits into from
Closed

Auto-update #173

wants to merge 27 commits into from

Conversation

cafca
Copy link
Owner

@cafca cafca commented May 6, 2014

Auto-update using Esky wrapper around py2app, py2exe.

  • Souma checks for updates during startup and every 15 minutes, downloads them and applies at next restart.
  • Update list is fetched from Github Wiki.

Changes:

  • Startup is no longer prevented if the database is outdated to allow for testing.
  • Version identifier must be in major.minor.patch format, no appendixes (e.g. -alpha.1).
  • Startup is much quicker now, since Synapses are only initialized after web_ui is started

@cafca cafca self-assigned this May 6, 2014
@cafca
Copy link
Owner Author

cafca commented May 19, 2014

@cartisan I merged the Alembic branch here and created a stub at nucleus.database.initialize_database. Can you make it work? 🐵

@cartisan
Copy link
Collaborator

Is noted ( #191 ), right now the study report + semantics is kind off getting at me.
Can you provide some more detail? Make Esky update work with alembic migrations? A quick google revealed exactly 0 relevant results. Oo

@cafca
Copy link
Owner Author

cafca commented May 22, 2014

Haha :D Yes, that was a vague description.

The updater automatically replaces the application directory with an updated version. When this happens, the database might be in an outdated state. Hence, during each startup we let Alembic update the database to the most recent revision.

If Souma is run from the command line we update with python manager.py db upgrade head. In the packaged state however, we want to use Alembic's Python API for this. I created a method stub for this at nucleus.database.initialize_database with a description of what that method should do.

@cafca
Copy link
Owner Author

cafca commented May 22, 2014

We probably want to use the upgrade method in Flask-Migrate for this, as that is also what gets called from manager.py.

@cafca
Copy link
Owner Author

cafca commented Jun 10, 2014

@cartisan I spent hours trying to find out why this crashes Souma without a line of error log when it's packaged and works perfectly when it's not. Then I tried it in Windows and got some very detailed and legible error messages. arghxl. Done for today.

@cafca
Copy link
Owner Author

cafca commented Jul 15, 2014

Removed automatic database updates again because of problems to get it to work in frozen state. Updates to the application code should work now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants