GenieGate, Version 1.1.0 (PHP 5) manual

Appendix F. MySQL tables

This briefly covers the tables in use by GenieGate.

You'll notice they all begin with the letters ua_ this should ease problems sharing GenieGate with other applications on the same database, unless the other applications happen to use tables that begin with ua_.

Table F.1. MySQL tables

Table Purpose
ua_group Group definitions and names
ua_members Links users with groups.
ua_psect Property sections
ua_prnam Property definition
ua_prnam Property definitions
ua_prop Stores user properties.
ua_users User accounts
ua_ppgrp PayPal Groups
ua_ppipn PayPal Action types
ua_pptxn PayPal Transaction log

The actual fields aren't covered here, you should look at the tables directly to see what they are. (if you're reading this, you're probably already doing that)

Most of it is fairly straight-forward. However, multiple sections are supported for properties and might warrant further explanation. ua_psect contains the section definitions. This table contains the field sid which maps to a numeric section ID. This is used for categorizing properties into sections.

The table ua_prnam contains the actual property names. These have prid and sid, sid is joined with ua_psect, to obtain the section name. The field prid is a globally unique number for this property.

Finally, prid is used to retrieve the actual users property from ua_prop

The purpose of doing it "the long way" is that numbers can be indexed and stored much more efficiently than strings, it would not make sense to store a long property name several times over for each user.

The purpose of ua_pptxn is only used for validating transaction ID's. You should use your paypal account for the actual transaction log, however additional information is logged to this table as an aid in diagnosing problems.