砕け散って一時撤退
3週間もあいてしまった。といって、何もしていなかったわけではない。無限ループの中をひたすらぐるぐるしていた。要素は4つ。
- MySQL8
- mysql1
- m1mac
- Flutter3
独学者がついに音を上げてメンターさんをお願いする。メンターさん、速攻でサンプルコードを提示してくださる。ネットで拾うサンプルコードと違うのは、「作って、動かしてる本人」が、直接、私のコードを見たり、質問に答えてくれたりするところだ。
メンターさんもFlutter3なので、それが原因という可能性は早々と消える。最初は自分の個人開発のプロジェクト内にメンターさんのコードを取り込んでいたが、もしか別のなにかと競合してたりするとややこしいので、私も全く新しく、全く同じコードを書いてみる。
が・・・・・ダメじゃん。はい、繋がっています、でも読み書きできません。
つまりコードがまちがってるわけでもない。
メンターさんと状況を揃えるために、SequelAceじゃなく、Workbenchを入れる。
userをrootから読み書きの権限付与した独自userに変える。
あと、何したっけ?
いつもはsimulatorだけど、メンターさんと同じemulatorでビルド。
いつもはAndroidstudioだけど、メンターさんと同じVSCodeを使う。
すべての関数にprint()を挟んで、debugする。
すると、読みに行ってはいる。けど、resultsが取れてない。そこで止まる。ということが判明。
メンターさんとの残った差分は、何? メンターさんはIntelMacでMySQL5.7 結局そこ。確定。
せっかくの愛機m1macをいったん諦める。
2015年製という年季の入ったMacAirを引っ張り出す。
そこにMySQL5.7を入れる。
それさえもスムーズにいかない。そもそもこれにもMySQL8を入れてあったのを忘れていた。uninstallして、installして、「なんか古いfile残ってて引っかかります」とかいうエラーに遭遇して、「徹底uninstall」、「たぶんこういうfileが引っかかってますよ」記事を参照しながら、terminalで片っ端から削除していく。勢い余って、brewまで消えてしまって、brewのinstallからやり直して、MySQL5.7、始動します。
といったって、もう長く使っていないので、Flutterが2のままだ。Androidstudioも古い。まあ、とりあえずこのまま行こう。
まだMySQL5.7は空っぽだ。テスト用のデータベースを作らなきゃならない。
ああ、Workbenchも入れなきゃならない。
テスト用のプロジェクトも復習だと思ってちゃんとコード書いて作る。
旧機、何やるのも、遅い! ビルド待ちながら数独ができるぐらい遅い。(>_<)
さあ、ようやくビルドできました。ボタン押します。・・・動きません。
もうやけになって、連打、
と・・・ えっ? トツゼン動いた。
今までずっと空白だったtextfieldに名前が1つ、表示されている。
私の気が短かっただけとか、いわないでよね。アプリ使う人に、うまく動かないときは連打してください、とか言えないでしょう。
まあ、久しぶりに起こされたAirは眠かったのかもしれない。
慌てて作ったデーターベースには3人の名前が入っている。idで呼び出してみると、最初のうちはほんと、連打しないと反応しなかったのだけれど、だんだん、ちゃんと動くようになってきた。
昭和のブラウン管テレビか、君は。
試しに、四人目のデータをinsert。恐る恐るWorkbenchを開けると、
おおお、入ってますよ〜。めでたい。
いつかきっとMySQL8をm1macで動かすぞ!
でもその日まで、まずはこの新境地を個人開発のプロジェクトに活かしていこうと思う。・・・Airでかぁ(>_<)
それともm1macで、連打してみる?