🧩

Serverpod 1.0.0覚え書き 6

2023/03/19に公開

細かな注意点

  • 作業の最初に必ずDeckerを起動し、該当のserverを走らせる。
  • server側を書き換えたら、server下でserverpod generateが必須。
  • 自動で更新したければserverpod generate --watchを常駐。(チカチカ動くので若干イライラする)
  • Flutter側でDebugする前にserverpod generate --watchを切って、server下でdart bin/main.dart

## posticoでちょっと残念だったこと
MySQLをSequelAceで使っていたときは、table名やColumn名の変更がすごく簡単(クリックして書き直し)だったのだが、posticoではそれができないらしい。typoを直したかったのだが、ただの練習だし、queryで直すほどのことでもないかと思って、今回はそのまま続行した。

失礼しました。

PosticoのContentで触っていた。Structureでなら簡単に編集できます。

できたこと

TextFormFieldで入力した内容をadd関数の引数にするのは、いつもの手順で問題なかった。まだ、endpointやclientの影響がどこまで及んでいるのか、よくわからない。

できてないこと

TextFormFieldで数字を打ち込んでintとして処理したかったのだが、どうしてもそこでエラーが出て止まってしまう。これまではできていたコードだが、今回できないのがserverpodの影響なのかどうかはわからない。table設定をしているyaml file側でいったんString扱いに直してやり過ごした。でもほんとはintじゃないと困るので、再考する。

コードはこんな感じ

class MyHomePageState extends State<MyHomePage> {

  //TextFormFieldから文字列を取得
  var year = "";
  // var year = 0; //エラーが出たので止めたコード
  var event = "";
  var country = "";

  addPrincipal() async {
    var principal =
        Principal(year: year, event: event, country: country);

    debugPrint("add principal");

    client.newpod.addPrincipal(principal);
  }

エラーが出たのはここ

                child: Format(
                    hintText: 'year',
                    onChanged: (text) {
                      year = text;
		      // year = text as int; //これまではこっちでやってきた。

TextFormFieldに入力し始めるとエラーが出て止まってしまう。
爺様に聞くかな。

Flutter大学

Discussion