(注)データベース操作パッケージ「Moor」は2021/10/12に「Drift」に名称変更されました。理由はこちらから。なお、みんプロ式のFlutter講座では初級編及び中級編1において「Moor」を使用しておりますが、今般の「Drift」への変更対応は完了しております。
SQL分を使わずにFlutterでSQLiteデータベースが手軽に使えるパッケージ「Moor」で、クエリメソッドを別クラスに分離するDao(Database Access Object)パターンを実装する場合のハマりどころについての解説です。
Moorでは、Daoクラスは「DatabaseAccessor」クラスを継承して作りますが、実は「DatabaseAccessor」は2つあって、
「moor_web.dart」の方ではなく、「moor.dart」の方を継承しないとビルドエラーを起こしてしまうので注意が必要です。
もし、「moor_web.dart」の方の「DatabaseAccessor」クラスを継承してしまうと、ビルドした際に、、、
「Invalid depfile・・」???
「Error:Not found: ‘dart:html」??
というわけわからんエラーが出てしまうので、必ず「moor.dart」の方の「DatabaseAccessor」クラスを継承するようにして下さい。
(詳しくは下の動画で解説していますので、よろしければご覧ください)