Edited at

Airflow1.9でユーザが作れないときに一時的な対処法

More than 1 year has passed since last update.

公式では以下の手順で作成するように書かれている


公式

import airflow

from airflow import models, settings
from airflow.contrib.auth.backends.password_auth import PasswordUser
user = PasswordUser(models.User())
user.username = 'new_user_name'
user.email = 'new_user_email@example.com'
user.password = 'set_the_password'
session = settings.Session()
session.add(user)
session.commit()
session.close()
exit()

しかしuser.password = ...のところでAttributeError: can't set attributeとエラーが出る

パスワード設定時、以下のようにすれば一応作成できる

from flask_bcrypt import generate_password_hash

user._password = generate_password_hash(password, 12)

ソースを見るとpython3系を使っている場合はstrでキャストしてあげる必要があるっぽいので注意


参考

ソース


更新

タイトルにバージョン追加