Я пытаюсь проверить одного из моих операторов.Для этого я вдохновляю свой код из:
https://github.com/apache/airflow/blob/master/tests/operators/test_python_operator.py
Я скопировал вставленный код и попытался выполнить его.Я получаю исключение, сгенерированное методом create_session из airflow.
Вот полный стек.
../.venv/lib/python3.7/site-packages/sqlalchemy/engine/default.py:552: OperationalError
The above exception was the direct cause of the following exception:
cls = <class 'tests.include.operators.test_feature_flip_operator.TestShortCircuitOperator'>
@classmethod
def setUpClass(cls):
super().setUpClass()
with create_session() as session:
> session.query(DagRun).delete()
__class__ = <class 'tests.include.operators.test_feature_flip_operator.TestShortCircuitOperator'>
cls = <class 'tests.include.operators.test_feature_flip_operator.TestShortCircuitOperator'>
session = <sqlalchemy.orm.session.Session object at 0x7f1d0c84b410>
tests/include/operators/test_feature_flip_operator.py:52:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../.venv/lib/python3.7/site-packages/sqlalchemy/orm/query.py:3700: in delete
delete_op.exec_()
../.venv/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py:1694: in exec_
self._do_exec()
../.venv/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py:1922: in _do_exec
self._execute_stmt(delete_stmt)
../.venv/lib/python3.7/site-packages/sqlalchemy/orm/persistence.py:1699: in _execute_stmt
self.result = self.query._execute_crud(stmt, self.mapper)
../.venv/lib/python3.7/site-packages/sqlalchemy/orm/query.py:3367: in _execute_crud
return conn.execute(stmt, self._params)
../.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py:988: in execute
return meth(self, multiparams, params)
../.venv/lib/python3.7/site-packages/sqlalchemy/sql/elements.py:287: in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
../.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py:1107: in _execute_clauseelement
distilled_params,
../.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py:1253: in _execute_context
e, statement, parameters, cursor, context
../.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py:1473: in _handle_dbapi_exception
util.raise_from_cause(sqlalchemy_exception, exc_info)
../.venv/lib/python3.7/site-packages/sqlalchemy/util/compat.py:398: in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
../.venv/lib/python3.7/site-packages/sqlalchemy/util/compat.py:152: in reraise
raise value.with_traceback(tb)
../.venv/lib/python3.7/site-packages/sqlalchemy/engine/base.py:1249: in _execute_context
cursor, statement, parameters, context
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x7f1d0ce77190>
cursor = <sqlite3.Cursor object at 0x7f1d0c8fa960>
statement = 'DELETE FROM dag_run', parameters = ()
context = <sqlalchemy.dialects.sqlite.base.SQLiteExecutionContext object at 0x7f1d0c781890>
def do_execute(self, cursor, statement, parameters, context=None):
> cursor.execute(statement, parameters)
E sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such table: dag_run
E [SQL: DELETE FROM dag_run]
E (Background on this error at: http://sqlalche.me/e/e3q8)
context = <sqlalchemy.dialects.sqlite.base.SQLiteExecutionContext object at 0x7f1d0c781890>
cursor = <sqlite3.Cursor object at 0x7f1d0c8fa960>
parameters = ()
self = <sqlalchemy.dialects.sqlite.pysqlite.SQLiteDialect_pysqlite object at 0x7f1d0ce77190>
statement = 'DELETE FROM dag_run'
Нужно ли устанавливать локальную базу данных или что-то в этом роде?Я изо всех сил пытаюсь найти любую документацию.