🧩
Serverpod で自動生成される関数をcase文で使い分ける
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を導入してみた。使い勝手はまだわからない。
Discussion
もし可能でしたら、タグの
#severpod
を#serverpod
に修正いただけると助かります。ご指摘ありがとうございます。直しました!