add engine parameter for offline migrations
Offline migration required config file containing connection string. In that case only engine from URL was used. With this patch engine can be passed from command line (or config file) along with plugins which sql script will be generated accordingly. DocImpact Change-Id: Ib667a71960b833fd981f97fe7d6b1856084ef5c8 Closes-Bug: #1304326
This commit is contained in:
parent
4e84a2da94
commit
7dc26e2031
@ -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 =
|
||||
|
||||
|
@ -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,
|
||||
|
@ -46,11 +46,14 @@ _db_opts = [
|
||||
deprecated_name='sql_connection',
|
||||
default='',
|
||||
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')
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user