ovrsa / bun

This app retrieves company info, stock prices, and financial data based on tickers.
0 stars 0 forks source link

PRI-185 refactor(db): resolve table relation inconsistencies #24

Closed ovrsa closed 1 month ago

ovrsa commented 1 month ago

テーブルのリレーション見直し

TickerReference テーブルを基準に、CompanyFinancials, StockPrice, CompanyProfile テーブルとのリレーションを再構築。 各テーブル間での参照が正しく行われるように中間テーブルを導入し、リレーションを明確化。

中間テーブルの作成

TickerReference と各テーブル (CompanyFinancials, StockPrice) とのリレーションを持つ中間テーブルを作成。 これにより、各ティッカーコードに関連するデータを容易に管理・取得できる構造に変更。

Django リポジトリの修正

DjangoCompanyProfileRepository, DjangoCompanyFinancialsRepository, DjangoStockPriceRepository の各リポジトリを修正し、TickerReference を基準にデータを取得・保存できるよう変更。 データ取得時のキャッシュ処理の改善。TickerReference が存在する場合はキャッシュから、存在しない場合は新規作成する処理を追加。

APIエラーハンドリングの改善

テーブル不整合によるエラーを防ぐため、TickerReference が存在しない場合や該当データが見つからない場合のエラーハンドリングを強化。 404エラーや500エラーを適切に処理し、クライアントへわかりやすいエラーメッセージを返す実装を追加。