11 микросервисов · 72 сущности · Tortoise ORM, отдельная PostgreSQL БД на сервис
🗄 Открыть карту баз данных →auth_userauth_user_roleauth_magic_linkauth_password_resetplatform_role_assignmentrefresh_tokenusercontactssubscriptionstored_filesВнутренних связей нет. file_id (строковый PK) используется как логическая ссылка из user-, hall-, partner- и ecard-service.
citiesrestaurantshall_categorieshallsprice_listsmediarestaurant_ownership_documentsrestaurant_membershipsrestaurant_invitationsrestaurant_ownership_transfersrestaurant_reviewscomplaintsrestaurant_moderation_recordshall_moderation_recordsmedia_moderation_recordscitieslanguagescategoriespartnersprofilesprofile_languagesservicescontactsmediareviewsrecommendationsverificationssubscriptions — тарифный план партнёраpartner_documentspartner_moderation_recordscontent_moderation_recordspartner_ownership_transferscomplaintsbooking_requestsbooking_request_itemsbookingsbooking_itemsbooking_cancellationsbooking_payment_snapshotsbooking_calendar_sync_outboxcalendar_eventscalendar_event_sourcescalendar_sync_logsevent_typeseventsevent_pagespage_blocksguestsguest_groupssub_guestsanswersevent_mediapage_visitsrsvp_clicksevent_moderation_recordsconversationsmessagesconversation_readsconversation_complaintscatalog_itemsАвтономная справочная модель. Внутренних и межсервисных связей нет.
notificationsМежсервисных ID-связей нет: recipient хранит email/телефон, а не ссылку на запись другого сервиса.
notification_logs| Откуда | Куда | Поле |
|---|---|---|
| user-service.User | auth-service.AuthUser | external_user_id → external_id |
| user-service.User | file-service.StoredFileRecord | avatar_file_id |
| booking-service.Booking/BookingRequest | user-service.User | client_user_id, resource_owner_user_id |
| booking-service.* | hall-service.Hall | resource_id (resource_type=hall) |
| booking-service.* | partner-service.Profile | resource_id (resource_type=partner) |
| booking-service.* | ecard-service.Event | ecard_event_id |
| booking-service.Booking/Outbox | calendar-service.CalendarEvent | calendar_booking_event_id, calendar_event_id |
| calendar-service.CalendarEvent | hall-service / partner-service | resource_id (по resource_type) |
| calendar-service.*Source/SyncLog | booking-service.Booking / ecard-service.Event | source_id (по source_service) |
| calendar-service.CalendarEvent | user-service.User | resource_owner_user_id, created_by_user_id |
| chat-service.Conversation | booking-service.BookingRequest | booking_request_id |
| chat-service.* | user-service.User | author_user_id, user_id, complainant/resolved_by_user_id |
| ecard-service.Event | booking-service.Booking | external_booking_id |
| ecard-service.* | user-service.User | owner_id, external_user_id, author_id, actor_external_user_id |
| ecard-service.EventMedia | file-service.StoredFileRecord | file_id |
| hall-service.Restaurant | user-service.User | external_owner_user_id |
| hall-service.* | user-service.User | external_user_id, *_by_user_id, reporter_user_id |
| hall-service.RestaurantReview | booking-service.Booking | booking_id |
| hall-service.Media/OwnershipDocument | file-service.StoredFileRecord | file_id |
| partner-service.Partner | user-service.User | external_user_id |
| partner-service.Review | booking-service.Booking | booking_id |
| partner-service.Review | user-service.User | client_user_id |
| partner-service.Recommendation | hall-service.Restaurant | restaurant_id |
| partner-service.Media/PartnerDocument | file-service.StoredFileRecord | file_id |
| partner-service.* (Verification, ModerationRecord, OwnershipTransfer, Complaint) | user-service.User | *_external_user_id |