Hello,

I'm using upgradedb for my own Ansible scripts. It's perfectly safe to use again and again. It's based on SQLAlchemy Alembic, you can find more details about its inner workings there : http://alembic.zzzcomputing.com/en/latest/

My Ansible role:
https://github.com/HBPMedical/ansible-airflow

Ludovic

On 01/07/17 04:43, Ace Haidrey wrote:
Airflow has an upgradedb command that needs to be run when upgrading Airflow 
versions. I wonder if it's safe to run even if the version is the same. 
Wondering if that'd be okay to put part of my ansible deployment.
I've tried asking on Gitter and Stack Overflow but to no avail.

Code wise I see:
def upgradedb():
    logging.info("Creating tables")
    current_dir = os.path.dirname(os.path.abspath(__file__))
    package_dir = os.path.normpath(os.path.join(current_dir, '..'))
    directory = os.path.join(package_dir, 'migrations')
    config = Config(os.path.join(package_dir, 'alembic.ini'))
    config.set_main_option('script_location', directory)
    config.set_main_option('sqlalchemy.url', settings.SQL_ALCHEMY_CONN)
    command.upgrade(config, 'heads')

Where only the last line I guess is what I have a hard time following: 
command.upgrade(config, 'heads'). Where is the heads defined? For instance, if 
I'm on version 1.8.0 and then I run this command, will it put the heads for the 
most recent version of Airflow from git?
I don't think so but just want to make sure it's safe.

How foolish of me to not introduce myself.
My name is Ace Haidrey and I'm a Software Engineer at Pandora trying to 
incorporate Airflow as part of our work management systems.

Cheers,
☺


Reply via email to