diff --git a/test/test_core.py b/test/test_core.py index 2fc7bfd..be32289 100644 --- a/test/test_core.py +++ b/test/test_core.py @@ -117,7 +117,7 @@ def drop_table(self, base, engine): base.metadata.drop_all(engine) def test_directories(self): - engine_good = sa.create_engine(config.db_url, directories=["dir"]) + engine_good = sa.create_engine(config.db_url, has_directories=True) base, Table, session = self.prepare_table(engine_good) row = self.try_update(session, Table) assert row.id == 2 diff --git a/ydb_sqlalchemy/sqlalchemy/__init__.py b/ydb_sqlalchemy/sqlalchemy/__init__.py index 83022c5..9a93e1c 100644 --- a/ydb_sqlalchemy/sqlalchemy/__init__.py +++ b/ydb_sqlalchemy/sqlalchemy/__init__.py @@ -589,7 +589,7 @@ def __init__( json_serializer=None, json_deserializer=None, _add_declare_for_yql_stmt_vars=False, - directories=[], + has_directories=False, **kwargs, ): super().__init__(**kwargs) @@ -599,7 +599,7 @@ def __init__( # NOTE: _add_declare_for_yql_stmt_vars is temporary and is soon to be removed. # no need in declare in yql statement here since ydb 24-1 self._add_declare_for_yql_stmt_vars = _add_declare_for_yql_stmt_vars - self._directories = directories + self._has_directories = has_directories def _describe_table(self, connection, table_name, schema=None): if schema is not None: @@ -682,9 +682,8 @@ def do_commit(self, dbapi_connection: dbapi.Connection) -> None: dbapi_connection.commit() def _fix_variable_name(self, variable): - for directory in self._directories: - if variable.startswith(f"{directory}/"): - return f"{directory}_" + variable[len(directory) + 1 :] + if self._has_directories: + return variable.replace("/", "_") return variable def _format_variables(