]> git.mxchange.org Git - friendica.git/commitdiff
Added information about table relations
authorMichael <heluecht@pirati.ca>
Sat, 29 Apr 2017 23:33:02 +0000 (23:33 +0000)
committerMichael <heluecht@pirati.ca>
Sat, 29 Apr 2017 23:33:02 +0000 (23:33 +0000)
include/dbstructure.php

index 98a4a9c307bb6e52d54583edb3477229c2533d44..744dc22dcc02093985c2117faecb7f99291dc49d 100644 (file)
@@ -300,6 +300,9 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
                                        // Compare the field definition
                                        $field_definition = $database[$name]["fields"][$fieldname];
 
+                                       // Remove the relation data that is used for the referential integrity
+                                       unset($parameters['relation']);
+
                                        // We change the collation after the indexes had been changed.
                                        // This is done to avoid index length problems.
                                        // So here we always ensure that there is no need to change it.
@@ -627,7 +630,7 @@ function db_definition() {
        $database["attach"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "hash" => array("type" => "varchar(64)", "not null" => "1", "default" => ""),
                                        "filename" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "filetype" => array("type" => "varchar(64)", "not null" => "1", "default" => ""),
@@ -647,7 +650,7 @@ function db_definition() {
        $database["auth_codes"] = array(
                        "fields" => array(
                                        "id" => array("type" => "varchar(40)", "not null" => "1", "primary" => "1"),
-                                       "client_id" => array("type" => "varchar(20)", "not null" => "1", "default" => ""),
+                                       "client_id" => array("type" => "varchar(20)", "not null" => "1", "default" => "", "relation" => array("clients" => "client_id")),
                                        "redirect_uri" => array("type" => "varchar(200)", "not null" => "1", "default" => ""),
                                        "expires" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
                                        "scope" => array("type" => "varchar(250)", "not null" => "1", "default" => ""),
@@ -688,7 +691,7 @@ function db_definition() {
                                        "redirect_uri" => array("type" => "varchar(200)", "not null" => "1", "default" => ""),
                                        "name" => array("type" => "text"),
                                        "icon" => array("type" => "text"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("client_id"),
@@ -709,7 +712,7 @@ function db_definition() {
        $database["contact"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "self" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "remote_self" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
@@ -798,7 +801,7 @@ function db_definition() {
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
                                        "guid" => array("type" => "varchar(64)", "not null" => "1", "default" => ""),
                                        "recips" => array("type" => "text"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "creator" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "updated" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
@@ -828,8 +831,8 @@ function db_definition() {
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
                                        "guid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        "uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "edited" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
@@ -881,9 +884,9 @@ function db_definition() {
        $database["ffinder"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "cid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "fid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "cid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
+                                       "fid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("fcontact" => "id")),
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
@@ -904,8 +907,8 @@ function db_definition() {
        $database["fsuggest"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        "name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "request" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
@@ -920,8 +923,8 @@ function db_definition() {
        $database["gcign"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "gcid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "gcid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("gcontact" => "id")),
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
@@ -971,10 +974,10 @@ function db_definition() {
        $database["glink"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "gcid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "zcid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "gcid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("gcontact" => "id")),
+                                       "zcid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("gcontact" => "id")),
                                        "updated" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        ),
                        "indexes" => array(
@@ -986,7 +989,7 @@ function db_definition() {
        $database["group"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "visible" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "deleted" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
@@ -999,9 +1002,9 @@ function db_definition() {
        $database["group_member"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "gid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "contact-id" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "gid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("group" => "id")),
+                                       "contact-id" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
@@ -1049,9 +1052,9 @@ function db_definition() {
        $database["intro"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "fid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "contact-id" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "fid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("fcontact" => "id")),
+                                       "contact-id" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        "knowyou" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "duplex" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "note" => array("type" => "text"),
@@ -1069,9 +1072,9 @@ function db_definition() {
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
                                        "guid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "contact-id" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "gcontact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "contact-id" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
+                                       "gcontact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0", "relation" => array("gcontact" => "id")),
                                        "type" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "wall" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "gravity" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
@@ -1084,11 +1087,11 @@ function db_definition() {
                                        "commented" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "received" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "changed" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
-                                       "owner-id" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "owner-id" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        "owner-name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "owner-link" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "owner-avatar" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
-                                       "author-id" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "author-id" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        "author-name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "author-link" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "author-avatar" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
@@ -1103,7 +1106,7 @@ function db_definition() {
                                        "postopts" => array("type" => "text"),
                                        "plink" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "resource-id" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
-                                       "event-id" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "event-id" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("event" => "id")),
                                        "tag" => array("type" => "mediumtext"),
                                        "attach" => array("type" => "mediumtext"),
                                        "inform" => array("type" => "mediumtext"),
@@ -1164,8 +1167,8 @@ function db_definition() {
        $database["item_id"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "iid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "iid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("item" => "id")),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "sid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "service" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        ),
@@ -1191,13 +1194,13 @@ function db_definition() {
        $database["mail"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "guid" => array("type" => "varchar(64)", "not null" => "1", "default" => ""),
                                        "from-name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "from-photo" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "from-url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
-                                       "contact-id" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
-                                       "convid" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
+                                       "contact-id" => array("type" => "varchar(255)", "not null" => "1", "default" => "", "relation" => array("contact" => "id")),
+                                       "convid" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0", "relation" => array("conv" => "id")),
                                        "title" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "body" => array("type" => "mediumtext"),
                                        "seen" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
@@ -1219,7 +1222,7 @@ function db_definition() {
        $database["mailacct"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "server" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "port" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
                                        "ssltype" => array("type" => "varchar(16)", "not null" => "1", "default" => ""),
@@ -1239,8 +1242,8 @@ function db_definition() {
        $database["manage"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "mid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "mid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
@@ -1257,10 +1260,10 @@ function db_definition() {
                                        "photo" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "date" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "msg" => array("type" => "mediumtext"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "link" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
-                                       "iid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "parent" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "iid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("item" => "id")),
+                                       "parent" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("item" => "id")),
                                        "seen" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "verb" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "otype" => array("type" => "varchar(16)", "not null" => "1", "default" => ""),
@@ -1278,10 +1281,10 @@ function db_definition() {
        $database["notify-threads"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "notify-id" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
-                                       "master-parent-item" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "notify-id" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("notify" => "id")),
+                                       "master-parent-item" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("item" => "id")),
                                        "parent-item" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "receiver-uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "receiver-uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "id")),
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
@@ -1314,7 +1317,7 @@ function db_definition() {
        $database["pconfig"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "cat" => array("type" => "varbinary(255)", "not null" => "1", "default" => ""),
                                        "k" => array("type" => "varbinary(255)", "not null" => "1", "default" => ""),
                                        "v" => array("type" => "mediumtext"),
@@ -1327,8 +1330,8 @@ function db_definition() {
        $database["photo"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "contact-id" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "contact-id" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        "guid" => array("type" => "varchar(64)", "not null" => "1", "default" => ""),
                                        "resource-id" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
@@ -1361,7 +1364,7 @@ function db_definition() {
        $database["poll"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "q0" => array("type" => "text"),
                                        "q1" => array("type" => "text"),
                                        "q2" => array("type" => "text"),
@@ -1381,7 +1384,7 @@ function db_definition() {
        $database["poll_result"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "poll_id" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "poll_id" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("poll" => "id")),
                                        "choice" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
                                        ),
                        "indexes" => array(
@@ -1404,7 +1407,7 @@ function db_definition() {
        $database["profile"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "profile-name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "is-default" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "hide-friends" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
@@ -1454,8 +1457,8 @@ function db_definition() {
        $database["profile_check"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "cid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "cid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        "dfrn_id" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "sec" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "expire" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
@@ -1467,7 +1470,7 @@ function db_definition() {
        $database["push_subscriber"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "callback_url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "topic" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "nickname" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
@@ -1482,7 +1485,7 @@ function db_definition() {
        $database["queue"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "cid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        "network" => array("type" => "varchar(32)", "not null" => "1", "default" => ""),
                                        "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "last" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
@@ -1503,7 +1506,7 @@ function db_definition() {
                                        "id" => array("type" => "int(11) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
                                        "hash" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
-                                       "uid" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "password" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "language" => array("type" => "varchar(16)", "not null" => "1", "default" => ""),
                                        "note" => array("type" => "text"),
@@ -1515,7 +1518,7 @@ function db_definition() {
        $database["search"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "term" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        ),
                        "indexes" => array(
@@ -1539,7 +1542,7 @@ function db_definition() {
        $database["sign"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "iid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "iid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("item" => "id")),
                                        "signed_text" => array("type" => "mediumtext"),
                                        "signature" => array("type" => "text"),
                                        "signer" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
@@ -1552,7 +1555,7 @@ function db_definition() {
        $database["spam"] = array(
                        "fields" => array(
                                        "id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        "spam" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
                                        "ham" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
                                        "term" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
@@ -1569,7 +1572,7 @@ function db_definition() {
        $database["term"] = array(
                        "fields" => array(
                                        "tid" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
-                                       "oid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "oid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("item" => "id")),
                                        "otype" => array("type" => "tinyint(3) unsigned", "not null" => "1", "default" => "0"),
                                        "type" => array("type" => "tinyint(3) unsigned", "not null" => "1", "default" => "0"),
                                        "term" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
@@ -1579,7 +1582,7 @@ function db_definition() {
                                        "received" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "global" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "aid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("tid"),
@@ -1591,12 +1594,12 @@ function db_definition() {
                        );
        $database["thread"] = array(
                        "fields" => array(
-                                       "iid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "primary" => "1"),
-                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
-                                       "contact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
-                                       "gcontact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
-                                       "owner-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
-                                       "author-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
+                                       "iid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "primary" => "1", "relation" => array("item" => "id")),
+                                       "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
+                                       "contact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
+                                       "gcontact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0", "relation" => array("gcontact" => "id")),
+                                       "owner-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
+                                       "author-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0", "relation" => array("contact" => "id")),
                                        "created" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "edited" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
                                        "commented" => array("type" => "datetime", "not null" => "1", "default" => NULL_DATE),
@@ -1633,10 +1636,10 @@ function db_definition() {
                        "fields" => array(
                                        "id" => array("type" => "varchar(40)", "not null" => "1", "primary" => "1"),
                                        "secret" => array("type" => "text"),
-                                       "client_id" => array("type" => "varchar(20)", "not null" => "1", "default" => ""),
+                                       "client_id" => array("type" => "varchar(20)", "not null" => "1", "default" => "", "relation" => array("clients" => "client_id")),
                                        "expires" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
                                        "scope" => array("type" => "varchar(200)", "not null" => "1", "default" => ""),
-                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0", "relation" => array("user" => "uid")),
                                        ),
                        "indexes" => array(
                                        "PRIMARY" => array("id"),
@@ -1780,7 +1783,7 @@ function dbstructure_run(&$argv, &$argc) {
        echo "dryrun            show database update schema queries without running them\n";
        echo "update            update database schema\n";
        echo "dumpsql           dump database schema\n";
-       echo "toinnodb          convert all tables from MyISAM to InnoDB\n";
+       echo "toinnodb  convert all tables from MyISAM to InnoDB\n";
        return;
 
 }