Skip to content

Commit fa95976

Browse files
authored
chore: replace deprecated lazy='noload' in SQL storage models (#2274)
SQLAlchemy 2.1 deprecates the `noload` loader strategy, so the four relationships in the SQL storage models raised `SADeprecationWarning` for users on 2.1. They now use `lazy='raise', passive_deletes=True`. Nothing reads these relationships, and the SQL clients delete rows with Core `delete()` statements, relying on the FK `ondelete='CASCADE'`. The SQL tests pass on SQLAlchemy 2.1.3 with the deprecation warning turned into an error, and on 2.0.54. Closes: #2272 *✍️ Drafted by Claude Code*
1 parent 87561ee commit fa95976

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

‎src/crawlee/storage_clients/_sql/_db_models.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ class DatasetMetadataDb(StorageMetadataDb, Base):
8484

8585
# Relationship to dataset items with cascade deletion
8686
items: Mapped[list[DatasetItemDb]] = relationship(
87-
back_populates='dataset', cascade='all, delete-orphan', lazy='noload'
87+
back_populates='dataset', cascade='all, delete-orphan', lazy='raise', passive_deletes=True
8888
)
8989

9090
id = synonym('dataset_id')
@@ -113,11 +113,11 @@ class RequestQueueMetadataDb(StorageMetadataDb, Base):
113113

114114
# Relationship to queue requests with cascade deletion
115115
requests: Mapped[list[RequestDb]] = relationship(
116-
back_populates='queue', cascade='all, delete-orphan', lazy='noload'
116+
back_populates='queue', cascade='all, delete-orphan', lazy='raise', passive_deletes=True
117117
)
118118
# Relationship to queue state
119119
state: Mapped[RequestQueueStateDb] = relationship(
120-
back_populates='queue', cascade='all, delete-orphan', lazy='noload'
120+
back_populates='queue', cascade='all, delete-orphan', lazy='raise', passive_deletes=True
121121
)
122122

123123
id = synonym('request_queue_id')
@@ -134,7 +134,7 @@ class KeyValueStoreMetadataDb(StorageMetadataDb, Base):
134134

135135
# Relationship to store records with cascade deletion
136136
records: Mapped[list[KeyValueStoreRecordDb]] = relationship(
137-
back_populates='kvs', cascade='all, delete-orphan', lazy='noload'
137+
back_populates='kvs', cascade='all, delete-orphan', lazy='raise', passive_deletes=True
138138
)
139139

140140
id = synonym('key_value_store_id')

0 commit comments

Comments
 (0)