zerebom / tsukumen-backend

つくばのラーメンを推薦するアプリ”ツクめん”のバックエンド実装レポジトリ
2 stars 0 forks source link

Inject gcp api data to db #5

Closed zerebom closed 3 years ago

zerebom commented 3 years ago

GCPのAPIを叩いてDB形式にパースするコード ロジックはinfra/ 以下に書いて、実行はmain.pyでやる

今後実装したい内容

naruwo-github commented 3 years ago

@zerebom 【今後実装したい内容】にある

shop_idのユニーク性の担保(今は実行するたびにindexが張り替えられてしまう)

についてなんだけど、 DBのテーブルを作成するときにユニークキーを設定できると思う。 そうすると、shop_idを明示することなく、データを突っ込んでいくだけでshop_idが一意な値になってくれると思うんだけど、どうかな???(ごめん、DB詳しくないから変なこと言ってたら申し訳ない)

zerebom commented 3 years ago

@zerebom 【今後実装したい内容】にある

shop_idのユニーク性の担保(今は実行するたびにindexが張り替えられてしまう)

についてなんだけど、 DBのテーブルを作成するときにユニークキーを設定できると思う。 そうすると、shop_idを明示することなく、データを突っ込んでいくだけでshop_idが一意な値になってくれると思うんだけど、どうかな???(ごめん、DB詳しくないから変なこと言ってたら申し訳ない)

今の実装だと2回上記のコードを回すと上書きじゃなくて追記だから、 別のshop_idで同じ店舗を格納してしちゃうんだよね。 shop_id 5のはりけんラーメンとshop_id 145のはりけんラーメンみたいな感じ。

実行する前にDBのデータを全部消去したらその方法でも良いかも!

naruwo-github commented 3 years ago

今の実装だと2回上記のコードを回すと上書きじゃなくて追記だから、 別のshop_idで同じ店舗を格納してしちゃうんだよね。

なるほど、そうかそうか👀

実行する前にDBのデータを全部消去したらその方法でも良いかも!

確かに!パフォーマンスにそこまで影響しなければ、現状削除するのが得策かもね🙋‍♀️

zerebom commented 3 years ago

@naruwo-github loggerや開始時にshop_idをリセットする機構などを入れました! お手すきでちらっとだけ見てください~

zerebom commented 3 years ago

[Q] is_replace_dbがfalseでmain関数が呼ばれるときってある?

今のとこないけど、今後あるかも! データを全消し->追加から DB内を参照->差分を追加にするかもしれないので

naruwo-github commented 3 years ago

今のとこないけど、今後あるかも! データを全消し->追加から DB内を参照->差分を追加にするかもしれないので

なるほど!OKです🙋‍♀️