[Bookworm] Correct Flask DB migration process
Move the old manage script to _legacy, and add a new _flask version with modern Flask tooling. Decide which one to call via pvc-api-db-migrate using /etc/debian_version call.
This commit is contained in:
		@@ -11,5 +11,16 @@ if [[ ! -f ${PVC_CONFIG_FILE} ]]; then
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
pushd /usr/share/pvc
 | 
			
		||||
./pvcapid-manage.py db upgrade
 | 
			
		||||
 | 
			
		||||
case "$( cat /etc/debian_version )" in
 | 
			
		||||
    10.*|11.*)
 | 
			
		||||
        # Debian 10 & 11
 | 
			
		||||
        ./pvcapid-manage_legacy.py db upgrade
 | 
			
		||||
    ;;
 | 
			
		||||
    *)
 | 
			
		||||
        # Debian 12+
 | 
			
		||||
        flask --app ./pvcapid-manage_flask.py db upgrade
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
popd
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								api-daemon/pvcapid-manage_flask.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										29
									
								
								api-daemon/pvcapid-manage_flask.py
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
# pvcapid-manage_flask.py - PVC Database management tasks (via Flask CLI)
 | 
			
		||||
# Part of the Parallel Virtual Cluster (PVC) system
 | 
			
		||||
#
 | 
			
		||||
#    Copyright (C) 2018-2022 Joshua M. Boniface <joshua@boniface.me>
 | 
			
		||||
#
 | 
			
		||||
#    This program is free software: you can redistribute it and/or modify
 | 
			
		||||
#    it under the terms of the GNU General Public License as published by
 | 
			
		||||
#    the Free Software Foundation, version 3.
 | 
			
		||||
#
 | 
			
		||||
#    This program is distributed in the hope that it will be useful,
 | 
			
		||||
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
#    GNU General Public License for more details.
 | 
			
		||||
#
 | 
			
		||||
#    You should have received a copy of the GNU General Public License
 | 
			
		||||
#    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 | 
			
		||||
#
 | 
			
		||||
###############################################################################
 | 
			
		||||
 | 
			
		||||
from pvcapid.flaskapi import app, db
 | 
			
		||||
from pvcapid.models import *  # noqa F401,F403
 | 
			
		||||
 | 
			
		||||
from flask_migrate import Migrate
 | 
			
		||||
 | 
			
		||||
migrate = Migrate(app, db)
 | 
			
		||||
 | 
			
		||||
# Call flask --app /usr/share/pvc/pvcapid-manage_flask.py db upgrade
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
#!/usr/bin/env python3
 | 
			
		||||
 | 
			
		||||
# manage.py - PVC Database management tasks
 | 
			
		||||
# pvcapid-manage_legacy.py - PVC Database management tasks (Legacy)
 | 
			
		||||
# Part of the Parallel Virtual Cluster (PVC) system
 | 
			
		||||
#
 | 
			
		||||
#    Copyright (C) 2018-2022 Joshua M. Boniface <joshua@boniface.me>
 | 
			
		||||
		Reference in New Issue
	
	Block a user