digraph dbml { rankdir=LR; graph [fontname="helvetica", fontsize=32, fontcolor="#29235c", bgcolor="transparent"]; node [penwidth=0, margin=0, fontname="helvetica", fontsize=32, fontcolor="#29235c"]; edge [fontname="helvetica", fontsize=32, fontcolor="#29235c", color="#29235c"]; "states" [id="states";label=<
states
OPEN
CLOSED
VOID
>]; "action_types" [id="action_types";label=<
action_types
BLIND
FOLD
CHECK
BET
>]; "groups" [id="groups";label=<
groups
id int
name varchar
active boolean
paid_through date
created_utc datetime
>]; "payment_types" [id="payment_types";label=<
payment_types
id int
group_id int
stripe_token varchar
created_utc datetime
>]; "payments" [id="payments";label=<
payments
id int
payment_type_id int
amount int
created_utc datetime
>]; "roles" [id="roles";label=<
roles
id int
name varchar
>]; "users" [id="users";label=<
users
id int
role_id int
group_id int
email varchar
display_name varchar
password varchar
active boolean
created_utc datetime
>]; "transactions" [id="transactions";label=<
transactions
id int
user_id int
amount int
created_utc datetime
>]; "tables" [id="tables";label=<
tables
id int
group_id int
name varchar
seats int
created_utc datetime
>]; "players" [id="players";label=<
players
id int
user_id int
table_id int
stack int
sitting_out boolean
seat int
created_utc datetime
>]; "players_active" [id="players_active";label=<
players_active
id int
user_id int
player_id int
>]; "hands" [id="hands";label=<
hands
id int
table_id int
dealer_id int
next_id int
rounds int
state states
created_utc datetime
>]; "hands_active" [id="hands_active";label=<
hands_active
id int
table_id int
hand_id int
>]; "pots" [id="pots";label=<
pots
id int
hand_id int
amount int
created_utc datetime
>]; "betting_rounds" [id="betting_rounds";label=<
betting_rounds
id int
hand_id int
round_num int
name varchar
bet int
bettor int
state states
created_utc datetime
>]; "betting_rounds_active" [id="betting_rounds_active";label=<
betting_rounds_active
id int
betting_round_id int
hand_id int
>]; "bets" [id="bets";label=<
bets
id int
player_id int
betting_round_id int
amount int
created_utc datetime
>]; "holdings" [id="holdings";label=<
holdings
id int
player_id int
hand_id int
is_board boolean
active boolean
created_utc datetime
>]; "cards" [id="cards";label=<
cards
id int
code int
>]; "holdings_to_cards" [id="holdings_to_cards";label=<
holdings_to_cards
holdings_id int
cards_id int
exposed boolean
>]; "actions" [id="actions";label=<
actions
id int
holding_id int
type action_types
created_utc datetime
>]; "payment_types":f0 -> "groups":f0 [style=invis, weight=100, color=red] "payment_types":f2:e -> "groups":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "payments":f0 -> "payment_types":f0 [style=invis, weight=100, color=red] "payments":f2:e -> "payment_types":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "users":f0 -> "roles":f0 [style=invis, weight=100, color=red] "users":f2:e -> "roles":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "users":f0 -> "groups":f0 [style=invis, weight=100, color=red] "users":f3:e -> "groups":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "transactions":f0 -> "users":f0 [style=invis, weight=100, color=red] "transactions":f2:e -> "users":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "tables":f0 -> "groups":f0 [style=invis, weight=100, color=red] "tables":f2:e -> "groups":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "players":f0 -> "users":f0 [style=invis, weight=100, color=red] "players":f2:e -> "users":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "players":f0 -> "tables":f0 [style=invis, weight=100, color=red] "players":f3:e -> "tables":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "players_active":f0 -> "users":f0 [style=invis, weight=100, color=red] "players_active":f2:e -> "users":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "players_active":f0 -> "players":f0 [style=invis, weight=100, color=red] "players_active":f3:e -> "players":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "hands":f0 -> "tables":f0 [style=invis, weight=100, color=red] "hands":f2:e -> "tables":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "hands":f0 -> "players":f0 [style=invis, weight=100, color=red] "hands":f3:e -> "players":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "hands":f0 -> "players":f0 [style=invis, weight=100, color=red] "hands":f4:e -> "players":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "hands_active":f0 -> "tables":f0 [style=invis, weight=100, color=red] "hands_active":f2:e -> "tables":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "hands_active":f0 -> "hands":f0 [style=invis, weight=100, color=red] "hands_active":f3:e -> "hands":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "pots":f0 -> "hands":f0 [style=invis, weight=100, color=red] "pots":f2:e -> "hands":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "betting_rounds":f0 -> "hands":f0 [style=invis, weight=100, color=red] "betting_rounds":f2:e -> "hands":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "betting_rounds":f0 -> "players":f0 [style=invis, weight=100, color=red] "betting_rounds":f6:e -> "players":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "betting_rounds_active":f0 -> "betting_rounds":f0 [style=invis, weight=100, color=red] "betting_rounds_active":f2:e -> "betting_rounds":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "betting_rounds_active":f0 -> "hands":f0 [style=invis, weight=100, color=red] "betting_rounds_active":f3:e -> "hands":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "bets":f0 -> "players":f0 [style=invis, weight=100, color=red] "bets":f2:e -> "players":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "bets":f0 -> "betting_rounds":f0 [style=invis, weight=100, color=red] "bets":f3:e -> "betting_rounds":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "holdings":f0 -> "players":f0 [style=invis, weight=100, color=red] "holdings":f2:e -> "players":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "holdings":f0 -> "hands":f0 [style=invis, weight=100, color=red] "holdings":f3:e -> "hands":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "holdings_to_cards":f0 -> "holdings":f0 [style=invis, weight=100, color=red] "holdings_to_cards":f1:e -> "holdings":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "holdings_to_cards":f0 -> "cards":f0 [style=invis, weight=100, color=red] "holdings_to_cards":f2:e -> "cards":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "actions":f0 -> "holdings":f0 [style=invis, weight=100, color=red] "actions":f2:e -> "holdings":f1:w [dir=forward, penwidth=3, color="#29235c", headlabel="1", taillabel="*"] "hands":f6:e -> "states":f0:w [penwidth=3, color="#29235c", arrowhead="none", arrowtail="none"] "betting_rounds":f7:e -> "states":f0:w [penwidth=3, color="#29235c", arrowhead="none", arrowtail="none"] "actions":f3:e -> "action_types":f0:w [penwidth=3, color="#29235c", arrowhead="none", arrowtail="none"] }