Skip to content
This repository has been archived by the owner on Aug 18, 2024. It is now read-only.

Add migration files #1

Draft
wants to merge 7 commits into
base: main
Choose a base branch
from
Draft

Add migration files #1

wants to merge 7 commits into from

Conversation

hayato24s
Copy link
Contributor

@hayato24s hayato24s commented Sep 12, 2023

db/migrations

既存のマイクロサービスを立ち上げた後、pgAdminからDDLをコピペしてマイグレーションファイルを作成しました。

db/models

DBのテーブル構造からGoのコードを生成するsqlboilerというORMを使用しています。
自動生成です。

schemaspy

schemaspyというツールで自動生成してます。

レビューして頂きたい点

マイグレーションファイルのクエリが既存のサービスのDB構造と矛盾していないか確認して頂きたいです。
pgAdminからコピペしてきたのですが、大丈夫でしたでしょうか?

@hayato24s hayato24s self-assigned this Sep 12, 2023
@hayato24s
Copy link
Contributor Author

hayato24s commented Sep 14, 2023

下記のスクリーンショットは既存のマイクロサービスを立ち上げてpgAdmin4からDDLを確認しているところです。
このDDLをコピペしてtwinte-backのマイグレーションファイルを作成しました。

僕としては、twinte-backでも同様にサービスを起動してからpgAdmin4でDB構造を表示し、正しそうか目視で判断すれば良いかと考えています。

twinte-backでDB構造を確認するための手順

  1. make up
  2. make bash
  3. make migrate-up
  4. pgAdmin4でDB構造を目視で確認する

既存のマイクロサービスでのpgAdminにおけるスクリーンショット

スクリーンショット 2023-09-14 22 14 20 スクリーンショット 2023-09-14 22 15 05 スクリーンショット 2023-09-14 22 15 11

@takonasu
Copy link
Member

チェック量が多いので時間がかかっていますがチェック中なのでもう少々お待ちを~

@takonasu
Copy link
Member

takonasu commented Sep 20, 2023

差分をチェックした項目

tables

  • already_reads
  • course_methods
  • course_recommended_grades
  • course_schedules
  • courses
  • payment_users
  • registered_course_tags
  • registered_courses
  • schema_migrations
  • session
  • tags
  • ✖ user_authentications
    差分画像(左が今回のPRのもの、右がuser-service)
    image
  • ✖ users
    差分画像(左が今回のPRのもの、右がuser-service)
    image

sequences

  • ✖ course_methods_id_seq
    OWNED BY course_methods.id欠損
  • ✖ course_recommended_grades_id_seq
    OWNED BY course_recommended_grades.id欠損
  • ✖ course_schedules_id_seq
    OWNED BY course_schedules.id欠損
  • user_authentications_id_seq

types

  • course_methods_method_enum
  • course_schedules_day_enum
  • course_schedules_module_enum
  • registered_courses_methods_enum
  • user_authentications_provider_enum

@hayato24s
Copy link
Contributor Author

hayato24s commented Sep 25, 2023

@takonasu

schemaspyを設定するの忘れていました。すみません🙇‍♂️

リポジトリをローカルにcloneした後、ブラウザからこちらのファイルを表示すると、下記のような画面が見れると思います。

こちらの画面からDBのテーブル構造を確認していただけるとありがたいです。

ちなみに、DBのテーブル構造からschemaspyのhtmlなどを生成するにはmake schemaspyを実行すればできます。

スクリーンショット 2023-09-25 21 24 56

スクリーンショット 2023-09-25 21 25 20

@hayato24s
Copy link
Contributor Author

user_authentications.social_idpayment_users.idが関連しちゃっています。

pgAdmin4では特にforeign key制約などは存在しません。

なんでだろう?バグかな?

スクリーンショット 2023-09-25 21 45 41

@hayato24s
Copy link
Contributor Author

recommended_gradesなどのcourse_idnullableなのはなぜ?

@takonasu
Copy link
Member

takonasu commented Oct 4, 2023

@hayato24s ファイルの差分を確認しました。
差分が出ている個所(Nullable)等確認してください。
既存のDBスキーマでの疑問点は、設計は @SIY1121 が担当したので、聞いてもらえると解決できるかと!

@hayato24s
Copy link
Contributor Author

hayato24s commented Oct 8, 2023

@takonasu

user_authenticationsusersに関しては左の今回のPRのものが正しいです。
実際に、本番環境のDBでは左のようになっていると思われます。
ですので、本PRで修正をする必要はないと思われます。

  • ✖ user_authentications
    差分画像(左が今回のPRのもの、右がuser-service)
    image
  • ✖ users
    差分画像(左が今回のPRのもの、右がuser-service)
    image

@hayato24s
Copy link
Contributor Author

hayato24s commented Oct 8, 2023

@takonasu

seqの箇所は修正しました。

sequences

  • ✖ course_methods_id_seq
    OWNED BY course_methods.id欠損
  • ✖ course_recommended_grades_id_seq
    OWNED BY course_recommended_grades.id欠損
  • ✖ course_schedules_id_seq
    OWNED BY course_schedules.id欠損

Copy link
Member

@takonasu takonasu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ごめんなさい、確認してApproveするのを失念していましたmm

@hayato24s hayato24s marked this pull request as draft February 9, 2024 16:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants