Slide 1

Slide 1 text

今日やったこと PyHack #141 2022/11/26 @Soogie

Slide 2

Slide 2 text

Herokuのお掃除  数年前に作ってHerokuに置きっぱなしだった蔵書管理アプリ  PyConJP2016初登壇時( https://togetter.com/li/1027387 )のテーマ 「無料でできる、Cloud9で開発してHerokuにデプロイする手順を紹介します」  登壇用じゃなく自分が使うためのアプリだったのでその後もずっと利用  小説を買うときには必ず見るけど最近は小説読まなくなって頻度はかなり減った  Heroku有料化→毎月課金するような利用頻度じゃないのでやめよう  移転先未定だけど、とりあえずデータだけは退避しないとね

Slide 3

Slide 3 text

HerokuPostgreSQLのバックアップ  HerokuPostgreSQLのバックアップ機能を使ってダンプしたバイナリをダウンロード  ローカルのPostgreSQLにインポートしようとして、そういえば今のPCには そもそもインストールしてなかったのでインストールから  PostgreSQLってもうバージョン15なんですね。6年前は9.4くらいでした  ローカルのPostgreSQLに空のデータベースを作ってダウンロードしたバイナリを リストア  Pgadmin4でCSVにエクスポートしてMacでも見えるようにOneDriveに保存  と、ここまでやって同じようなことを2か月前にやっていたことを思い出す (OneDrive上にすでに保存してた)

Slide 4

Slide 4 text

Herokuから削除  データも退避したし、コードはリポジトリに入ってるのでいよいよ削除  6年半の間、無料で楽しませてくれてありがとうございました

Slide 5

Slide 5 text

Herokuの代替サービスを探す  「Heroku 代替」で検索するとFly.ioってのがよく出てくる  単に移行してもつまらないので作り直そうかな  「Fly.io Python」で検索したら公式がFlask使ったサンプルを公開してるので 今回はDjangoじゃなくFlaskで作ってみよう  まずは公式サンプルを試してみる https://fly.io/docs/languages-and-frameworks/python/  環境変数をセットしてflask run する方法がWindowsだとちょっと違ってた PS > $env:FLASK_APP=“hellofly” PS > flask run  Heroku CLIの代わりにflyのコマンドラインツールを入れる  ターミナルはWindowsターミナルを使わないとflyctl launchが謎のエラーで止まる

Slide 6

Slide 6 text

 サンプルはとりあえず動いた

Slide 7

Slide 7 text

Flaskチュートリアル  これまで簡単なFlaskアプリを書いたことがないわけではないけどログインとか データベースとか基本の「き」のところをちゃんと学びなおそう  ということで、Flaskチュートリアル https://msiz07-flask-docs-ja.readthedocs.io/ja/latest/tutorial/index.html  今日はチュートリアルを最後までやったところで時間切れ