Allow db schema downgrades
When a destination version is specified, check the current version and allow downgrading the schema. Fixes bug 865357. Change-Id: I47104158884421de92f50322a72243c170a4f1ad
This commit is contained in:
parent
8573160d11
commit
6915d1e912
@ -19,6 +19,7 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
from nova import exception
|
||||
from nova import flags
|
||||
|
||||
import sqlalchemy
|
||||
@ -38,9 +39,19 @@ FLAGS = flags.FLAGS
|
||||
|
||||
|
||||
def db_sync(version=None):
|
||||
db_version()
|
||||
if version is not None:
|
||||
try:
|
||||
version = int(version)
|
||||
except ValueError:
|
||||
raise exception.Error(_("version should be an integer"))
|
||||
|
||||
current_version = db_version()
|
||||
repo_path = _find_migrate_repo()
|
||||
return versioning_api.upgrade(FLAGS.sql_connection, repo_path, version)
|
||||
if version is None or version > current_version:
|
||||
return versioning_api.upgrade(FLAGS.sql_connection, repo_path, version)
|
||||
else:
|
||||
return versioning_api.downgrade(FLAGS.sql_connection, repo_path,
|
||||
version)
|
||||
|
||||
|
||||
def db_version():
|
||||
|
Loading…
x
Reference in New Issue
Block a user