はじめに
1週間N(E)ETになった社会人の学習記録です。
今日はCRUDのサンプルを写経し、使い方を覚えます。
私のレベルは、「RailsのTutorialはやったことある。Rails3が主流なときにRails2の改修をやらされて、情報が全然なくてトラウマになっている。」です。
使用技術 | 私の状況 |
---|---|
python | 読み書きできなくはないが、自分で一から書くならrubyを選ぶ |
SQLAlchemy | 完全に初見。RailsのActiveRecordは触ったことある。 |
FastAPI | 完全に初見。RailsのapiモードでHello Worldを書いたことある程度。 |
前日の記事(Dockerの学習)ではPostgreSQLのデータの永続化はできていないが、とりあえず先に進む。
CRUDの写経
Google先生に教えてもらった記事から、分かりやすそうなページを参考に写経する。
変更箇所
環境依存の所だけ自分の環境に合わせて適切に変更
値 | 旧 | 新 | 理由 |
---|---|---|---|
DATABASE | postgresql | 同左 | |
USER | testuser | postgres | Dockerイメージのデフォルト |
PASSWORD | secret | p@assw0rd | お好み設定 |
HOST | localhost | db | docker-compose.ymlのservices内の名前がhost名になる1 |
PORT | 5432 | 同左 | |
DB_NAME | test_db | document_db | お好み設定 |
Dockerfileの編集
SQLAlchemyに必要なパッケージとして以下追加する。
怒られたのでとりあえず入れた感じ。
Railsのように最初にドカッと入るよりは自分で選択して入れるほうが学習にはよさげ。
管理 | 名前 | 備考 |
---|---|---|
pip | sqlalchemy | 今回使いたいやつ |
pip | psycopg2-bynary | PostgresSQL用のpthonライブラリ libpq5必要 |
pip | databases | 非同期用のライブラリ? 後で調べるかも |
apt | libpq5 | PostgresSQL用のCライブラリ |
所感
とりあえず、コピペしただけだけど動いてなにより。
次回は、今回作ったFastAPIに対して、Reactを通じてCRUDできることを目標にします。
免責事項(言い訳)
上記の技術については初心者なので、あてにしないように!!!
今後の予定のための参考
多対多
このまどろっこしさは解消されないんですかね。
Word
「python-docx」は使ったことあるので、たぶん行ける。
ちなみにExcelは「openpyxl」を使い、pdfは「pyPDF2」と「reportlab」を使い分ける。
とりあえずGoogle先生から以下を教えてもらったが、テストメールを準備するのがだるいので、ここには書かないかも。