Here’s how Gravity Forms is structured within your database:
Tables
Listed below you can find the names and definitions for tables created by Gravity Forms. WordPress adds a prefix to any tables created, so when checking them in your database you will notice all the tables have a prefix before their name, this prefix is set by the user during the installation of WordPress, so it can be different on each installation.
gf_addon_feed
Contains Gravity Forms feeds.
- id
Contains the unique feed ID. - form_id
Contains the ID of the form that the feed is associated with. - is_active
Defines if the feed is active or not. Integer is used as a boolean (0 is false, 1 is true). - feed_order
The order in which the feed is processed if multiple feeds exist. - meta
Meta information related to the feed. Stored as JSON. - addon_slug
The slug of the add-on that the feed is associated with.
gf_addon_payment_callback
Contains information related to payment callbacks that have been received.
- id
The row ID. - lead_id
The entry ID associated with the callback. - addon_slug
The add-on associated with the callback. - callback_id
The callback ID. - date_created
The date that the callback was received.
gf_addon_payment_transaction
Contains transaction details.
- id
The transaction ID. - lead_id
The entry ID associated with the transaction. - transaction_type
The transaction type. - transaction_id
The unique transaction ID. - subscription_id
The subscription ID, if applicable. - is_recurring
Defines if this is a recurring subscription. Integer is used as a boolean (0 is false, 1 is true). - amount
The amount of the transaction. - date_created
The date the transaction was created.
gf_draft_submissions
Holds draft submissions created by the save and continue feature.
- uuid
The unique ID of the draft submission. - email
The email address associated with the draft submission. - form_id
The form ID that the draft submission is associated with. - date_created
The date the draft submission was created. - ip
The IP address that created the draft submission. - source_url
The URL that was used to submit the draft submission. - submission
Submission details regarding the draft submission.
gf_entry
Contains Gravity Forms entries.
- id
The unique entry ID. - form_id
The form ID that the entry is associated with. - post_id
The ID of the post that was created from the entry, if applicable. - date_created
The date that the entry was created. - date_updated
The date that the entry was last updated. - is_starred
If the entry is starred. Integer is used as a boolean (0 is false, 1 is true). - is_read
If the entry has been marked as read. Integer is used as a boolean (0 is false, 1 is true). - ip
The IP address that submitted the entry. - source_url
The URL of where the submission took place. - user_agent
The user agent of the entry submitter. - currency
The currency used in the entry, if applicable. - payment_status
The status of the payment, if applicable. - payment_date
The date that the payment took place, if applicable. - payment_amount
The amount of the payment, if applicable. - payment_method
The transaction method used to process the payment, if applicable. - transaction_id
The transaction ID associated with the entry, if applicable. - is_fulfilled
If the transaction has been fulfilled, if applicable. - created_by
The ID of the user that created the entry, if applicable. - transaction_type
The transaction type, if applicable. - status
The current entry status. - source_id
Null or the ID of the post or page where the form was embedded at the time the entry was saved. Since Gravity Forms 2.9.
gf_entry_meta
Contains additional metadata related to entries. Details from fields, as well as add-ons, are stored here.
- id
The unique ID. - form_id
The form ID that the entry meta is associated with. - entry_id
The entry ID that the meta is associated with. - meta_key
The meta key. - meta_value
The value stored under the meta key. - item_index
The item index.
gf_entry_notes
Contains notes that were placed on an entry.
- id
The note ID. - entry_id
The entry ID that the note is associated with. - user_name
The user name that created the note. - user_id
The user ID that created the note. - date_created
The date that the note was created. - value
The contents of the note. - note_type
The type of note that was left, if applicable. - sub_type
The secondary note type, if applicable.
gf_form
Contains the forms that exist within Gravity Forms.
- id
The form ID. - title
The form title. - date_created
The date that the form was created. - is_active
If the form is active. Integer is used as a boolean (0 is false, 1 is true). - is_trash
If the form is trashed. Integer is used as a boolean (0 is false, 1 is true).
gf_form_meta
Contains metadata associated with forms.
- form_id
The form ID that the metadata is associated with. - display_meta
Meta related to how the form and fields are configured. - entries_grid_meta
Additional meta related to entries and how they will be displayed. - confirmations
Confirmation configuration. - notifications
Notification configuration.
gf_form_revisions
Contains form revisions. At the time of writing this documentation is only used for Consent fields
- id
The ID. - form_id
The form ID that the form revision is associated with. - display_meta
Meta related to how the form and fields are configured. - date_created
The date that the revision was created.
gf_form_view
Contains details on form views.
- id
The ID. - form_id
The form ID that the data is associated with. - date_created
The date that the row was created. - ip
The IP that accessed the form. - count
The number of times that the IP accessed the form.
Changes from Gravity Forms 2.2
Introduction
The database schema was changed in Gravity Forms 2.3 to enable significant performance enhancements and to allow key features to be added. Code that uses the Gravity Forms API (GFAPI) will not be affected and will continue to work as before. However, custom code and add-ons that access the database tables directly will need updating.
Changes
The following changes were made to the tables and columns.
- rg_lead -> gf_entry
- rg_lead_details + rg_lead_meta tables -> gf_entry_meta
- All lead_id columns -> entry_id
- rg_form -> gf_form
- rg_form_view -> gf_form_view
- rg_form_meta -> gf_form_meta
- rg_incomplete_submissions -> gf_draft_submissions
The Migration Process
The automatic migration process creates the new tables and copies all the data over to the new tables in a series of background tasks. If the task stops, for example because of a server restart, then the migration will continue with a scheduled cron task. If there’s a database error, then the migration will stop and try again later.