Files
inventory-plus-plus/diagrams/database_schema.uml
T

137 lines
3.3 KiB
Plaintext

@startuml
hide circle
skinparam linetype ortho
entity "**accounts**" {
+ ""account_id"": //serial [PK]//
--
*""email"": //text //
*""verified"": //boolean //
*""user_id"": //text [FK]//
}
entity "**etsy_access_tokens**" {
+ ""user_id"": //integer [PK][FK]//
--
*""access_token"": //text //
*""refresh_token"": //text //
*""access_token_expiration"": //timestamp with time zone //
*""refresh_token_expiration"": //timestamp with time zone //
}
entity "**etsy_oauth_requests**" {
+ ""state"": //bytea [PK]//
--
*""code_verifier"": //bytea //
*""expiration"": //timestamp with time zone //
*""account_id"": //integer [FK]//
}
entity "**etsy_store_events**" {
+ ""store_id"": //text [PK][FK]//
+ ""event_timestamp"": //timestamp with time zone [PK][FK]//
+ ""event_id"": //text [PK][FK]//
--
*""platform"": //text [FK]//
}
entity "**etsy_users**" {
+ ""user_id"": //integer [PK]//
--
*""account_id"": //integer [FK]//
*""shop_id"": //integer //
}
entity "**oauth_login_states**" {
+ ""state"": //bytea [PK]//
--
*""expiration"": //timestamp with time zone //
}
entity "**oauth_tokens**" {
+ ""access_token"": //text [PK]//
--
*""token_type"": //text //
*""refresh_token"": //text //
*""expiry"": //timestamp with time zone //
*""id_token_issuer"": //text //
*""id_token_audience"": //text[] //
*""id_token_subject"": //text [FK]//
*""id_token_expiry"": //timestamp with time zone //
*""id_token_issued_at"": //timestamp with time zone //
*""id_token_nonce"": //text //
*""id_token_access_token_hash"": //text //
*""claims"": //jsonb //
}
entity "**oauth_users**" {
+ ""user_id"": //text [PK]//
--
}
entity "**raw_store_events**" {
+ ""platform"": //text [PK]//
+ ""store_id"": //text [PK]//
+ ""event_timestamp"": //timestamp with time zone [PK]//
+ ""event_id"": //text [PK]//
--
*""raw_payload"": //jsonb //
}
entity "**schema_migrations**" {
+ ""version"": //bigint [PK]//
--
*""dirty"": //boolean //
}
entity "**tiktok_store_events**" {
+ ""store_id"": //text [PK][FK]//
+ ""event_timestamp"": //timestamp with time zone [PK][FK]//
+ ""event_id"": //text [PK][FK]//
--
*""platform"": //text [FK]//
}
entity "**wix_store_events**" {
+ ""store_id"": //text [PK][FK]//
+ ""event_timestamp"": //timestamp with time zone [PK][FK]//
+ ""event_id"": //text [PK][FK]//
--
*""platform"": //text [FK]//
}
"**accounts**" }-- "**oauth_users**"
"**etsy_access_tokens**" ||-|| "**etsy_users**"
"**etsy_oauth_requests**" }-- "**accounts**"
"**etsy_store_events**" }-- "**raw_store_events**"
"**etsy_store_events**" }-- "**raw_store_events**"
"**etsy_store_events**" }-- "**raw_store_events**"
"**etsy_store_events**" }-- "**raw_store_events**"
"**etsy_users**" }-- "**accounts**"
"**oauth_tokens**" }-- "**oauth_users**"
"**tiktok_store_events**" }-- "**raw_store_events**"
"**tiktok_store_events**" }-- "**raw_store_events**"
"**tiktok_store_events**" }-- "**raw_store_events**"
"**tiktok_store_events**" }-- "**raw_store_events**"
"**wix_store_events**" }-- "**raw_store_events**"
"**wix_store_events**" }-- "**raw_store_events**"
"**wix_store_events**" }-- "**raw_store_events**"
"**wix_store_events**" }-- "**raw_store_events**"
@enduml