Database table structure in gibbon

I am new to Gibbon and wondering why there is no relationships among tables, for example foreign keys not present in the database

Hi rthunoli, this is a very good question. For a very long time Gibbon used the MyISAM engine in MySQL, which does not support formal relationships. We’ve since switched to InnoDB, but have not built these relationships in. However, they do exist: any time you see a field with a name that matches a primary key from another table, you know it is a primary key. For example, in the table gibbonActivityStaff, the gibbonPersonID field is a foreign key linking to the gibbonPerson table. Hope this helps! Ross.

Another doubt I have is about transactions InnoDB supports database transaction. Is Gibbon using transaction to update more than one tables ?

Gibbon is not using transactions yet, as Ross mentioned we’ve recently switched from MyISAM to InnoDB and transactions were not previously supported. There are limitations to transactions for parts of the system like running updates (transactions implicitly commit when making table alterations), but there are other areas of the system we hope to eventually add transactions to.