Database Documentation (MySQL only)

From OpenSimulator

Jump to: navigation, search

This is a running start at documenting the tables in the MySQL instances used on both grid and regions, and describing how they relate to each other in the context of an OpenSimulator grid.

SQLite is generally not apropriate for this use case and will not be covered here; however the table structures are very similar and most of what is here will be useful in that context as well.

Note that some of these tables may be artifacts, some may be planned for use, and some may see heavy use but have columns which are artifacts, not properly updated or not yet used at all. Alpha code FTW!! :D

-daTwitch aka Hiro Protagonist

The instances:

Records agent (Avatar/User) login details
Comprehensive grid assets including textures and avatar inventories
Persistence of the visual appearance of avatars between logins
Inventory folder-related details *excepting contents*
 Contents are in the inventoryitems table and point back to inventoryfolders
All inventory item details (including folder associations) except contents - contents are referenced
 in the assets table
Stores a record of logged events
logs preTimestamp
Old format logs table?
migrationsSupports 'automagic' migration to new database formats
regionsRegions known to the grid
reservationsRegion registration table. This table has no rows on OSGrid and is likely in place for future functionality
userfriendsFriends list registration

Region: estate groups estate managers estate map estate settings estate users estateban land landaccesslist migrations primitems prims primshapes regionban regionsettings terrain

This is a brief snip from an IRC discussion that pretty much sums things up:

<daTwitch> my next question involves the use of the files in trunk/OpenSim/Data/MySQL/Resources/
<daTwitch> If I understand correctly, assuming at minimum a previously unused instance on the db,  
  execution of CreateAssetsTable.sql on the sql server, followed by the application of the files 
  001_AssetStore.sql thru 004_AssetStore.sql (as it stands now) will produce a current assets 
<daTwitch> and similarly for the other tables
<daTwitch> is that a valid assumption?
<justinccWork> yep
<daTwitch> bitchin' dude :D
<daTwitch> <3
<justinccWork> got it in one :)
<daTwitch> Thanks Man :D
Personal tools
About This Wiki