Вы можете либо подключиться напрямую к метабазе Airflow и вывести эти соединения, а затем загрузить их в отдельную базу данных.
Однако, если вы хотите автоматизировать что-то вроде этого, вы можете начать работу, сбросив их в файл CSV:
from airflow.utils import db
from airflow.models import Connection
import csv
outfile = open('myconnections.csv', 'w')
outcsv = csv.writer(outfile)
with db.create_session() as session:
connections = session.query(Connection).all()
conn_list = [
[getattr(c, column.name) for column in Connection.__mapper__.columns]
for c in connections
]
outcsv.writerows(conn_list)
outfile.close()
После этого вы можете загрузить это в новую БД вручную или с помощью аналогичного сценария.
ВАЖНО : если вы включили шифрование, пароли, хранящиеся для этих соединений, будут зашифрованы, и при загрузке их в новую БД вы должны использовать идентичный ключ фернета, иначе вы выиграли ' не сможет их расшифровать.