Merge "add engine parameter for offline migrations"

This commit is contained in:
Jenkins 2014-06-08 04:37:35 +00:00 committed by Gerrit Code Review
commit 66fcbed75b
3 changed files with 17 additions and 7 deletions

View File

@ -414,6 +414,10 @@ admin_password = %SERVICE_PASSWORD%
# main neutron server. (Leave it as is if the database runs on this host.)
# connection = sqlite://
# Database engine for which script will be generated when using offline
# migration
# engine =
# The SQLAlchemy connection string used to connect to the slave database
# slave_connection =

View File

@ -48,16 +48,19 @@ target_metadata = model_base.BASEV2.metadata
def run_migrations_offline():
"""Run migrations in 'offline' mode.
This configures the context with just a URL
and not an Engine, though an Engine is acceptable
here as well. By skipping the Engine creation
we don't even need a DBAPI to be available.
This configures the context with either a URL
or an Engine.
Calls to context.execute() here emit the given string to the
script output.
"""
context.configure(url=neutron_config.database.connection)
kwargs = dict()
if neutron_config.database.connection:
kwargs['url'] = neutron_config.database.connection
else:
kwargs['dialect_name'] = neutron_config.database.engine
context.configure(**kwargs)
with context.begin_transaction():
context.run_migrations(active_plugins=active_plugins,

View File

@ -47,11 +47,14 @@ _db_opts = [
default='',
secret=True,
help=_('URL to database')),
cfg.StrOpt('engine',
default='',
help=_('Database engine')),
]
CONF = cfg.ConfigOpts()
CONF.register_opts(_core_opts)
CONF.register_opts(_db_opts, 'database')
CONF.register_cli_opts(_core_opts)
CONF.register_cli_opts(_db_opts, 'database')
CONF.register_opts(_quota_opts, 'QUOTAS')