回答編集履歴

2

追記

2023/02/05 00:15

投稿

quickquip
quickquip

スコア11209

test CHANGED
@@ -20,5 +20,13 @@
20
20
  - Can't use sa.Column[sa.Integer] as a type, ignore it in the one test that uses it.
21
21
 
22
22
  で非互換があったから直していて、今回のエラーは1点目に該当します。
23
- Flask-SQLAlchemy 3.0.2 入る予定だとなっていて、実際3.0.2に反映されてリリースされています。
23
+ Flask-SQLAlchemy 3.0.2 入る予定だとなっていて、実際3.0.2に反映されてリリースされています。
24
+
25
+ https://flask-sqlalchemy.palletsprojects.com/en/3.0.x/changes/#version-3-0-2
26
+
27
+ > Version 3.0.2
28
+ > Released 2022-10-14
29
+ > Update compatibility with SQLAlchemy 2. #1122
30
+
31
+ つまり SQLAlchemy 2系と組み合わせるなら**これ以前の Flask-SQLAlchemy では駄目**ということです。
24
32
  今だと3.0.3が出ているので3.0.3にしてしまうのがいいでしょう。

1

追記

2023/02/05 00:05

投稿

quickquip
quickquip

スコア11209

test CHANGED
@@ -3,3 +3,22 @@
3
3
 
4
4
  https://github.com/pallets-eco/flask-sqlalchemy/issues/1122
5
5
  と同じですね。SQLALchemyのバージョンを落とすか、Flask-SQLAlchemyのバージョンを3.0.2まで上げるかの選択だと思います。
6
+
7
+ ----
8
+
9
+ 追記
10
+ https://github.com/pallets-eco/flask-sqlalchemy/issues/1122
11
+ にて、flask-sqlalchemyに修正が入って
12
+ https://github.com/pallets-eco/flask-sqlalchemy/pull/1123
13
+ がMergeされています。
14
+
15
+ その内容は、SQLAlchemy 2 preview になってこういう変更があって動かなくなっていたから直したよというものです。
16
+ 4点
17
+ - SQLAlchemy no longer sets `__all__`.
18
+ - SQLite uses QueuePool instead of NullPool.
19
+ - Ignore LegacyAPIWarning when testing the legacy API. The lowest supported version, 1.4.18, does not have this class.
20
+ - Can't use sa.Column[sa.Integer] as a type, ignore it in the one test that uses it.
21
+
22
+ で非互換があったから直していて、今回のエラーは1点目に該当します。
23
+ Flask-SQLAlchemy 3.0.2 入る予定だとなっていて、実際3.0.2に反映されてリリースされています。
24
+ 今だと3.0.3が出ているので3.0.3にしてしまうのがいいでしょう。