20 lines
		
	
	
		
			No EOL
		
	
	
		
			623 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			No EOL
		
	
	
		
			623 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| import logging
 | |
| 
 | |
| from alembic.config import Config
 | |
| from alembic.script import ScriptDirectory
 | |
| from alembic.environment import EnvironmentContext
 | |
| from alembic.migration import __name__ as migration_name
 | |
| 
 | |
| def run_alembic_migration(log_handler=None):
 | |
|   if log_handler:
 | |
|     logging.getLogger(migration_name).addHandler(log_handler)
 | |
| 
 | |
|   config = Config()
 | |
|   config.set_main_option("script_location", "data:migrations")
 | |
|   script = ScriptDirectory.from_config(config)
 | |
| 
 | |
|   def fn(rev, context):
 | |
|     return script._upgrade_revs('head', rev)
 | |
| 
 | |
|   with EnvironmentContext(config, script, fn=fn, destination_rev='head'):
 | |
|     script.run_env() |