🧩

Serverpod で自動生成される関数をcase文で使い分ける

2023/03/23に公開
2

Serverpod 1.0.1を使う 1
これはServerpod 1.0.0覚え書きシリーズ(全10回)の続きです。

userの記入内容によって保存tableを分ける

MySQLを使っていたときは、SQL文にuserの記入した文字列をtable名として埋め込んで対応していたが、Serverpodでは、tableを新設するたびにCRUD関数が自動作成されるから、それを使わないのももったいないか、とすると、条件分岐が必要なのか? などとあれこれやってみて、とりあえずこんな感じになった。

newpod/newpod_flutter/lib/add_event.dart
            Padding(
              padding: const EdgeInsets.only(bottom: 16.0),
              child: ElevatedButton(
                onPressed: () {
                  switch(isSelectedEra){  //dropdownButtonで選択している
                    case 'BillionYears': addBillion(); //自動生成された関数
                    break;
                    case 'HistoricalYears': addPrincipal(); //こっちも自動生成
                    break;
                  }
                },
                child: const Text('Add an Event'),
              ),
            ),

今はtable数二つなのでif文でも良いようなものだが、これからtableがどんどん増えていくので、switchにした。

Androidstudio

tutorial動画に従ってずっとVSCodeを使っているが、Androidstudioのほうが使い慣れているので、使えるかな〜と思って試してみた。newpod全体をまとめて開くこともできるが、サポートできてません、という但し書きがつく。Flutterだけを開いて、serverはterminalから走らせる、という手を使えば、ふつうに使える。でも結局、server側も触りたい、ということになればVSCodeが必要。

pgAdmin

tutorial動画に従ってPosticoを使っている。無料で使えるけど、ほんとは有料なので、毎回「さあ、そろそろ有料に移行しましょう」というアラートが出る。円安のせいで5000円ぐらいだけど、一生ものだからそれでもいい。ただ、ほかの選択肢もあるようなので、ちょっと試してみよう。ということでとりあえずpgAdminを導入してみた。使い勝手はまだわからない。

アイコンはPosticoのほうがかわいい。

Flutter大学

Discussion

waddy_uwaddy_u

もし可能でしたら、タグの #severpod#serverpod に修正いただけると助かります。