2016-04-02 21:55:08 +02:00
< ? php
/**
* EGroupware - API Setup
*
* Current DB schema
*
* @ link http :// www . egroupware . org
* @ package api
* @ subpackage setup
* @ license http :// opensource . org / licenses / gpl - license . php GPL - GNU General Public License
*/
$phpgw_baseline = array (
'egw_config' => array (
'fd' => array (
'config_app' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False ),
'config_name' => array ( 'type' => 'ascii' , 'precision' => '32' , 'nullable' => False ),
'config_value' => array ( 'type' => 'text' )
),
'pk' => array ( 'config_app' , 'config_name' ),
'fk' => array (),
'ix' => array (),
'uc' => array ()
),
'egw_applications' => array (
'fd' => array (
'app_id' => array ( 'type' => 'auto' , 'precision' => '4' , 'nullable' => False ),
'app_name' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False ),
'app_enabled' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'app_order' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'app_tables' => array ( 'type' => 'ascii' , 'precision' => '8192' , 'nullable' => False ),
'app_version' => array ( 'type' => 'ascii' , 'precision' => '20' , 'nullable' => False , 'default' => '0.0' ),
2020-03-30 21:02:48 +02:00
'app_icon' => array ( 'type' => 'ascii' , 'precision' => '128' ),
2016-04-02 21:55:08 +02:00
'app_icon_app' => array ( 'type' => 'ascii' , 'precision' => '16' ),
2020-03-30 21:02:48 +02:00
'app_index' => array ( 'type' => 'ascii' , 'precision' => '128' )
2016-04-02 21:55:08 +02:00
),
'pk' => array ( 'app_id' ),
'fk' => array (),
'ix' => array ( array ( 'app_enabled' , 'app_order' )),
'uc' => array ( 'app_name' )
),
'egw_acl' => array (
'fd' => array (
'acl_appname' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False ),
'acl_location' => array ( 'type' => 'ascii' , 'meta' => 'account' , 'precision' => '16' , 'nullable' => False ),
'acl_account' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '4' , 'nullable' => False ),
'acl_rights' => array ( 'type' => 'int' , 'precision' => '4' ),
'acl_id' => array ( 'type' => 'auto' , 'nullable' => False )
),
'pk' => array ( 'acl_id' ),
'fk' => array (),
'ix' => array ( 'acl_account' , array ( 'acl_location' , 'acl_account' ), array ( 'acl_appname' , 'acl_account' )),
'uc' => array ( array ( 'acl_appname' , 'acl_location' , 'acl_account' ))
),
'egw_accounts' => array (
'fd' => array (
'account_id' => array ( 'type' => 'auto' , 'meta' => 'account-abs' , 'nullable' => False ),
'account_lid' => array ( 'type' => 'varchar' , 'precision' => '64' , 'nullable' => False ),
'account_pwd' => array ( 'type' => 'varchar' , 'precision' => '128' , 'nullable' => False ),
'account_lastlogin' => array ( 'type' => 'int' , 'precision' => '4' ),
'account_lastloginfrom' => array ( 'type' => 'ascii' , 'precision' => '48' , 'comment' => 'ip' ),
'account_lastpwd_change' => array ( 'type' => 'int' , 'precision' => '4' ),
'account_status' => array ( 'type' => 'char' , 'precision' => '1' , 'nullable' => False , 'default' => 'A' ),
'account_expires' => array ( 'type' => 'int' , 'precision' => '4' ),
'account_type' => array ( 'type' => 'char' , 'precision' => '1' ),
'account_primary_group' => array ( 'type' => 'int' , 'meta' => 'group' , 'precision' => '4' , 'nullable' => False , 'default' => '0' ),
2024-08-12 14:32:14 +02:00
'account_description' => array ( 'type' => 'varchar' , 'precision' => '255' , 'comment' => 'group description' ),
'account_uuid' => array ( 'type' => 'ascii' , 'precision' => '64' , 'comment' => 'UUID of synced (LDAP) entries' ),
'account_dn' => array ( 'type' => 'varchar' , 'precision' => '255' , 'comment' => 'DN or container' )
2016-04-02 21:55:08 +02:00
),
'pk' => array ( 'account_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ( 'account_lid' )
),
'egw_preferences' => array (
'fd' => array (
'preference_owner' => array ( 'type' => 'int' , 'meta' => 'account-prefs' , 'precision' => '4' , 'nullable' => False ),
'preference_app' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False ),
'preference_value' => array ( 'type' => 'text' , 'nullable' => False ),
'preference_id' => array ( 'type' => 'auto' , 'nullable' => False )
),
'pk' => array ( 'preference_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ( array ( 'preference_owner' , 'preference_app' ))
),
'egw_access_log' => array (
'fd' => array (
'sessionid' => array ( 'type' => 'auto' , 'nullable' => False , 'comment' => 'primary key' ),
'loginid' => array ( 'type' => 'varchar' , 'precision' => '64' , 'nullable' => False , 'comment' => 'username used to login' ),
'ip' => array ( 'type' => 'ascii' , 'precision' => '48' , 'nullable' => False , 'comment' => 'ip of user' ),
'li' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'nullable' => False , 'comment' => 'TS if login' ),
'lo' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'comment' => 'TD of logout' ),
'account_id' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False , 'default' => '0' , 'comment' => 'numerical account id' ),
'session_dla' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'comment' => 'TS of last user action' ),
'session_action' => array ( 'type' => 'ascii' , 'precision' => '64' , 'comment' => 'menuaction or path of last user action' ),
'session_php' => array ( 'type' => 'ascii' , 'precision' => '64' , 'nullable' => False , 'comment' => 'php session-id or error-message' ),
'notification_heartbeat' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'comment' => 'TS of last notification request' ),
'user_agent' => array ( 'type' => 'ascii' , 'precision' => '255' , 'comment' => 'User-agent of browser/device' )
),
'pk' => array ( 'sessionid' ),
'fk' => array (),
'ix' => array ( 'li' , 'lo' , 'session_dla' , 'session_php' , 'notification_heartbeat' , array ( 'account_id' , 'ip' , 'li' ), array ( 'account_id' , 'loginid' , 'li' )),
'uc' => array ()
),
'egw_languages' => array (
'fd' => array (
'lang_id' => array ( 'type' => 'ascii' , 'precision' => '5' , 'nullable' => False ),
'lang_name' => array ( 'type' => 'varchar' , 'precision' => '50' , 'nullable' => False )
),
'pk' => array ( 'lang_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ()
),
'egw_lang' => array (
'fd' => array (
'lang' => array ( 'type' => 'varchar' , 'precision' => '5' , 'nullable' => False , 'default' => '' ),
'app_name' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False , 'default' => 'common' ),
'message_id' => array ( 'type' => 'ascii' , 'precision' => '128' , 'nullable' => False , 'default' => '' ),
'content' => array ( 'type' => 'varchar' , 'precision' => '8192' ),
'lang_id' => array ( 'type' => 'auto' , 'nullable' => False )
),
'pk' => array ( 'lang_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ( array ( 'lang' , 'app_name' , 'message_id' ))
),
'egw_categories' => array (
'fd' => array (
'cat_id' => array ( 'type' => 'auto' , 'meta' => 'category' , 'precision' => '4' , 'nullable' => False ),
'cat_main' => array ( 'type' => 'int' , 'meta' => 'category' , 'precision' => '4' , 'nullable' => False , 'default' => '0' ),
'cat_parent' => array ( 'type' => 'int' , 'meta' => 'category' , 'precision' => '4' , 'nullable' => False , 'default' => '0' ),
'cat_level' => array ( 'type' => 'int' , 'precision' => '2' , 'nullable' => False , 'default' => '0' ),
'cat_owner' => array ( 'type' => 'ascii' , 'meta' => 'account-commasep' , 'precision' => '255' , 'nullable' => False , 'default' => '0' ),
'cat_access' => array ( 'type' => 'ascii' , 'precision' => '7' ),
'cat_appname' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False ),
'cat_name' => array ( 'type' => 'varchar' , 'precision' => '150' , 'nullable' => False ),
'cat_description' => array ( 'type' => 'varchar' , 'precision' => '255' , 'nullable' => False ),
'cat_data' => array ( 'type' => 'varchar' , 'precision' => '8192' ),
'last_mod' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'nullable' => False )
),
'pk' => array ( 'cat_id' ),
'fk' => array (),
'ix' => array ( array ( 'cat_appname' , 'cat_owner' , 'cat_parent' , 'cat_level' )),
'uc' => array ()
),
'egw_history_log' => array (
'fd' => array (
'history_id' => array ( 'type' => 'auto' , 'precision' => '4' , 'nullable' => False ),
'history_record_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'history_appname' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False ),
'history_owner' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False ),
'history_status' => array ( 'type' => 'varchar' , 'precision' => '32' , 'nullable' => False ),
2018-06-18 11:33:21 +02:00
'history_new_value' => array ( 'type' => 'longtext' , 'nullable' => False ),
2016-04-02 21:55:08 +02:00
'history_timestamp' => array ( 'type' => 'timestamp' , 'nullable' => False , 'default' => 'current_timestamp' ),
2018-06-18 11:33:21 +02:00
'history_old_value' => array ( 'type' => 'longtext' , 'nullable' => False ),
2018-06-06 23:51:46 +02:00
'sessionid' => array ( 'type' => 'int' , 'precision' => '4' , 'comment' => 'primary key to egw_access_log' ),
2018-06-18 11:33:21 +02:00
'share_email' => array ( 'type' => 'varchar' , 'precision' => '4096' , 'comment' => 'email addresses of share who made the change, comma seperated' )
2016-04-02 21:55:08 +02:00
),
'pk' => array ( 'history_id' ),
'fk' => array (),
'ix' => array ( array ( 'history_appname' , 'history_record_id' , 'history_id' )),
'uc' => array ()
),
'egw_async' => array (
'fd' => array (
'async_id' => array ( 'type' => 'ascii' , 'precision' => '64' , 'nullable' => False ),
'async_next' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '4' , 'nullable' => False , 'comment' => 'timestamp of next run' ),
'async_times' => array ( 'type' => 'ascii' , 'precision' => '255' , 'nullable' => False , 'comment' => 'serialized array with values for keys hour,min,day,month,year' ),
'async_method' => array ( 'type' => 'ascii' , 'precision' => '80' , 'nullable' => False , 'comment' => 'app.class.method class::method to execute' ),
'async_data' => array ( 'type' => 'varchar' , 'precision' => '8192' , 'nullable' => False , 'comment' => 'serialized array with data to pass to method' ),
'async_account_id' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False , 'default' => '0' , 'comment' => 'creator of job' ),
'async_auto_id' => array ( 'type' => 'auto' , 'nullable' => False )
),
'pk' => array ( 'async_auto_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ( 'async_id' )
),
'egw_links' => array (
'fd' => array (
'link_id' => array ( 'type' => 'auto' , 'nullable' => False ),
'link_app1' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False ),
2016-05-01 11:57:48 +02:00
'link_id1' => array ( 'type' => 'ascii' , 'meta' => array ( " link_app1='api-accounts' " => 'account' ), 'precision' => '64' , 'nullable' => False ),
2016-04-02 21:55:08 +02:00
'link_app2' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False ),
2016-05-01 11:57:48 +02:00
'link_id2' => array ( 'type' => 'ascii' , 'meta' => array ( " link_app2='api-accounts' " => 'account' ), 'precision' => '64' , 'nullable' => False ),
2016-04-02 21:55:08 +02:00
'link_remark' => array ( 'type' => 'varchar' , 'precision' => '100' ),
'link_lastmod' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'nullable' => False ),
'link_owner' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '4' , 'nullable' => False ),
'deleted' => array ( 'type' => 'timestamp' )
),
'pk' => array ( 'link_id' ),
'fk' => array (),
2019-10-25 09:49:03 +02:00
'ix' => array ( 'deleted' , array ( 'link_app1' , 'link_id1' , 'link_lastmod' ), array ( 'link_app2' , 'link_id2' , 'link_lastmod' ), array ( 'link_app1' , 'link_app2' , 'link_id1' , 'link_id2' )),
2016-04-02 21:55:08 +02:00
'uc' => array ()
),
'egw_addressbook' => array (
'fd' => array (
2024-10-23 15:20:02 +02:00
'contact_id' => array ( 'type' => 'auto' , 'precision' => '0' , 'scale' => '0' , 'nullable' => False ),
'contact_tid' => array ( 'type' => 'char' , 'precision' => '1' , 'scale' => '0' , 'default' => 'n' ),
'contact_owner' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '8' , 'scale' => '0' , 'nullable' => False , 'comment' => 'account or group id of the adressbook' ),
'contact_private' => array ( 'type' => 'int' , 'precision' => '1' , 'scale' => '0' , 'default' => '0' , 'comment' => 'privat or personal' ),
'cat_id' => array ( 'type' => 'ascii' , 'meta' => 'category' , 'precision' => '255' , 'scale' => '0' , 'comment' => 'Category(s)' ),
'n_family' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'Family name' ),
'n_given' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'Given Name' ),
'n_middle' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' ),
'n_prefix' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'Prefix' ),
'n_suffix' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'Suffix' ),
'n_fn' => array ( 'type' => 'varchar' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'Full name' ),
'n_fileas' => array ( 'type' => 'varchar' , 'precision' => '255' , 'scale' => '0' , 'comment' => 'sort as' ),
'contact_bday' => array ( 'type' => 'varchar' , 'precision' => '12' , 'scale' => '0' , 'comment' => 'Birtday' ),
'org_name' => array ( 'type' => 'varchar' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'Organisation' ),
'org_unit' => array ( 'type' => 'varchar' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'Department' ),
'contact_title' => array ( 'type' => 'varchar' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'jobtittle' ),
'contact_role' => array ( 'type' => 'varchar' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'role' ),
'contact_assistent' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'Name of the Assistent (for phone number)' ),
'contact_room' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'room' ),
'adr_one_street' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'street (business)' ),
'adr_one_street2' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'street (business) - 2. line' ),
'adr_one_locality' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'city (business)' ),
'adr_one_region' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'region (business)' ),
'adr_one_postalcode' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'postalcode (business)' ),
'adr_one_countryname' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'countryname (business)' ),
'contact_label' => array ( 'type' => 'text' , 'precision' => '0' , 'scale' => '0' , 'comment' => 'currently not used' ),
'adr_two_street' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'street (private)' ),
'adr_two_street2' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'street (private) - 2. line' ),
'adr_two_locality' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'city (private)' ),
'adr_two_region' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'region (private)' ),
'adr_two_postalcode' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'postalcode (private)' ),
'adr_two_countryname' => array ( 'type' => 'varchar' , 'precision' => '64' , 'scale' => '0' , 'comment' => 'countryname (private)' ),
'tel_work' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' , 'comment' => 'phone-number (business)' ),
'tel_cell' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' , 'comment' => 'mobil phone (business)' ),
'tel_fax' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' , 'comment' => 'fax-number (business)' ),
'tel_assistent' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' , 'comment' => 'phone-number assistent' ),
'tel_car' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' ),
'tel_pager' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' , 'comment' => 'pager' ),
'tel_home' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' , 'comment' => 'phone-number (private)' ),
'tel_fax_home' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' , 'comment' => 'fax-number (private)' ),
'tel_cell_private' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' , 'comment' => 'mobil phone (private)' ),
'tel_other' => array ( 'type' => 'varchar' , 'precision' => '40' , 'scale' => '0' , 'comment' => 'other phone' ),
'tel_prefer' => array ( 'type' => 'varchar' , 'precision' => '32' , 'scale' => '0' , 'comment' => 'prefered phone-number' ),
'contact_email' => array ( 'type' => 'varchar' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'email address (business)' ),
'contact_email_home' => array ( 'type' => 'varchar' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'email address (private)' ),
'contact_url' => array ( 'type' => 'varchar' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'website (business)' ),
'contact_url_home' => array ( 'type' => 'varchar' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'website (private)' ),
'contact_freebusy_uri' => array ( 'type' => 'ascii' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'freebusy-url for calendar of the contact' ),
'contact_calendar_uri' => array ( 'type' => 'ascii' , 'precision' => '128' , 'scale' => '0' , 'comment' => 'url for users calendar - currently not used' ),
'contact_note' => array ( 'type' => 'varchar' , 'precision' => '8192' , 'scale' => '0' , 'comment' => 'notes field' ),
'contact_tz' => array ( 'type' => 'varchar' , 'precision' => '8' , 'scale' => '0' , 'comment' => 'timezone difference' ),
'contact_geo' => array ( 'type' => 'ascii' , 'precision' => '32' , 'scale' => '0' , 'comment' => 'currently not used' ),
'contact_pubkey' => array ( 'type' => 'ascii' , 'precision' => '16384' , 'scale' => '0' , 'comment' => 'public key' ),
'contact_created' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'scale' => '0' , 'comment' => 'timestamp of the creation' ),
'contact_creator' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'scale' => '0' , 'nullable' => False , 'comment' => 'account id of the creator' ),
'contact_modified' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'scale' => '0' , 'nullable' => False , 'comment' => 'timestamp of the last modified' ),
'contact_modifier' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'scale' => '0' , 'comment' => 'account id of the last modified' ),
'account_id' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'scale' => '0' , 'comment' => 'account id' ),
'contact_etag' => array ( 'type' => 'int' , 'precision' => '4' , 'scale' => '0' , 'default' => '0' , 'comment' => 'etag of the changes' ),
'contact_uid' => array ( 'type' => 'ascii' , 'precision' => '255' , 'scale' => '0' , 'comment' => 'unique id of the contact' ),
'adr_one_countrycode' => array ( 'type' => 'ascii' , 'precision' => '2' , 'scale' => '0' , 'comment' => 'countrycode (business)' ),
'adr_two_countrycode' => array ( 'type' => 'ascii' , 'precision' => '2' , 'scale' => '0' , 'comment' => 'countrycode (private)' ),
'carddav_name' => array ( 'type' => 'ascii' , 'precision' => '260' , 'scale' => '0' , 'comment' => 'name part of CardDAV URL, if specified by client' ),
'contact_files' => array ( 'type' => 'int' , 'precision' => '1' , 'scale' => '0' , 'default' => '0' , 'comment' => '&1: photo, &2: pgp, &4: smime' )
2016-04-02 21:55:08 +02:00
),
'pk' => array ( 'contact_id' ),
'fk' => array (),
'ix' => array ( 'contact_owner' , 'cat_id' , 'n_fileas' , 'contact_modified' , 'contact_uid' , 'carddav_name' , array ( 'n_family' , 'n_given' ), array ( 'n_given' , 'n_family' ), array ( 'org_name' , 'n_family' , 'n_given' )),
'uc' => array ( 'account_id' )
),
'egw_addressbook_extra' => array (
'fd' => array (
'contact_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'contact_owner' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '8' ),
'contact_name' => array ( 'type' => 'varchar' , 'meta' => 'cfname' , 'precision' => '64' , 'nullable' => False , 'comment' => 'custom-field name' ),
'contact_value' => array ( 'type' => 'varchar' , 'meta' => 'cfvalue' , 'precision' => '16384' , 'comment' => 'custom-field value' ),
'contact_extra_id' => array ( 'type' => 'auto' , 'nullable' => False )
),
'pk' => array ( 'contact_extra_id' ),
'fk' => array (),
'ix' => array ( 'contact_name' , array ( 'contact_id' , 'contact_name' )),
'uc' => array ()
),
'egw_addressbook_lists' => array (
'fd' => array (
'list_id' => array ( 'type' => 'auto' , 'nullable' => False ),
'list_name' => array ( 'type' => 'varchar' , 'precision' => '80' , 'nullable' => False ),
'list_owner' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '4' , 'nullable' => False ),
'list_created' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' ),
'list_creator' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' ),
'list_uid' => array ( 'type' => 'ascii' , 'precision' => '128' ),
'list_carddav_name' => array ( 'type' => 'ascii' , 'precision' => '128' ),
'list_etag' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False , 'default' => '0' ),
'list_modified' => array ( 'type' => 'timestamp' , 'nullable' => False , 'default' => 'current_timestamp' ),
'list_modifier' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' )
),
'pk' => array ( 'list_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ( 'list_uid' , 'list_carddav_name' , array ( 'list_owner' , 'list_name' ))
),
'egw_addressbook2list' => array (
'fd' => array (
'contact_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'list_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'list_added' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' ),
'list_added_by' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' )
),
'pk' => array ( 'contact_id' , 'list_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ()
),
'egw_sqlfs' => array (
'fd' => array (
'fs_id' => array ( 'type' => 'auto' , 'nullable' => False ),
'fs_dir' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'fs_name' => array ( 'type' => 'varchar' , 'precision' => '200' , 'nullable' => False ),
'fs_mode' => array ( 'type' => 'int' , 'precision' => '2' , 'nullable' => False ),
'fs_uid' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False , 'default' => '0' ),
'fs_gid' => array ( 'type' => 'int' , 'meta' => 'group-abs' , 'precision' => '4' , 'nullable' => False , 'default' => '0' ),
'fs_created' => array ( 'type' => 'timestamp' , 'precision' => '8' , 'nullable' => False ),
'fs_modified' => array ( 'type' => 'timestamp' , 'precision' => '8' , 'nullable' => False ),
'fs_mime' => array ( 'type' => 'ascii' , 'precision' => '96' , 'nullable' => False ),
2023-06-30 20:45:31 +02:00
'fs_size' => array ( 'type' => 'int' , 'precision' => '8' , 'default' => '0' ),
2016-04-02 21:55:08 +02:00
'fs_creator' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False ),
'fs_modifier' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' ),
'fs_active' => array ( 'type' => 'bool' , 'nullable' => False , 'default' => 't' ),
'fs_content' => array ( 'type' => 'blob' ),
2023-10-23 08:01:33 +02:00
'fs_link' => array ( 'type' => 'varchar' , 'precision' => '255' ),
'fs_s3_flags' => array ( 'type' => 'int' , 'precision' => '1' , 'default' => '0' ),
'fs_aes_key' => array ( 'type' => 'binary' , 'precision' => '32' )
2016-04-02 21:55:08 +02:00
),
'pk' => array ( 'fs_id' ),
'fk' => array (),
2023-10-23 08:01:33 +02:00
'ix' => array ( 'fs_s3_flags' , array ( 'fs_dir' , 'fs_active' )),
2016-04-02 21:55:08 +02:00
'uc' => array ()
),
'egw_locks' => array (
'fd' => array (
'lock_token' => array ( 'type' => 'ascii' , 'precision' => '64' , 'nullable' => False ),
'lock_path' => array ( 'type' => 'varchar' , 'precision' => '255' , 'nullable' => False ),
'lock_expires' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'nullable' => False ),
'lock_owner' => array ( 'type' => 'varchar' , 'precision' => '255' ),
'lock_recursive' => array ( 'type' => 'bool' , 'nullable' => False , 'default' => '0' ),
'lock_write' => array ( 'type' => 'bool' , 'nullable' => False , 'default' => '0' ),
'lock_exclusive' => array ( 'type' => 'bool' , 'nullable' => False , 'default' => '0' ),
'lock_created' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'default' => '0' ),
'lock_modified' => array ( 'type' => 'int' , 'meta' => 'timestamp' , 'precision' => '8' , 'default' => '0' ),
'lock_id' => array ( 'type' => 'auto' , 'nullable' => False )
),
'pk' => array ( 'lock_id' ),
'fk' => array (),
'ix' => array ( 'lock_path' , 'lock_expires' ),
'uc' => array ( 'lock_token' )
),
'egw_sqlfs_props' => array (
'fd' => array (
'fs_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'prop_namespace' => array ( 'type' => 'ascii' , 'precision' => '64' , 'nullable' => False ),
'prop_name' => array ( 'type' => 'ascii' , 'precision' => '64' , 'nullable' => False ),
'prop_value' => array ( 'type' => 'varchar' , 'precision' => '16384' ),
'prop_id' => array ( 'type' => 'auto' , 'nullable' => False )
),
'pk' => array ( 'prop_id' ),
'fk' => array (),
2016-11-03 19:09:33 +01:00
'ix' => array (),
'uc' => array ( array ( 'fs_id' , 'prop_namespace' , 'prop_name' ))
2016-04-02 21:55:08 +02:00
),
'egw_customfields' => array (
'fd' => array (
'cf_id' => array ( 'type' => 'auto' , 'nullable' => False ),
'cf_app' => array ( 'type' => 'ascii' , 'precision' => '16' , 'nullable' => False , 'comment' => 'app-name cf belongs too' ),
'cf_name' => array ( 'type' => 'varchar' , 'precision' => '128' , 'nullable' => False , 'comment' => 'internal name' ),
'cf_label' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'label to display' ),
'cf_type' => array ( 'type' => 'varchar' , 'precision' => '64' , 'nullable' => False , 'default' => 'text' , 'comment' => 'type of field' ),
'cf_type2' => array ( 'type' => 'varchar' , 'precision' => '2048' , 'comment' => 'comma-separated subtypes of app, cf is valid for' ),
'cf_help' => array ( 'type' => 'varchar' , 'precision' => '256' , 'comment' => 'helptext' ),
'cf_values' => array ( 'type' => 'varchar' , 'precision' => '8096' , 'comment' => 'json object with value label pairs' ),
'cf_len' => array ( 'type' => 'int' , 'precision' => '2' , 'comment' => 'length or columns of field' ),
'cf_rows' => array ( 'type' => 'int' , 'precision' => '2' , 'comment' => 'rows of field' ),
'cf_order' => array ( 'type' => 'int' , 'precision' => '2' , 'comment' => 'order to display fields' ),
'cf_needed' => array ( 'type' => 'bool' , 'default' => '0' , 'comment' => 'field is required' ),
'cf_private' => array ( 'type' => 'ascii' , 'meta' => 'account-commasep' , 'precision' => '2048' , 'comment' => 'comma-separated account_id' ),
'cf_modifier' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '4' , 'comment' => 'last modifier' ),
'cf_modified' => array ( 'type' => 'timestamp' , 'default' => 'current_timestamp' , 'comment' => 'last modification time' ),
2024-03-20 14:05:40 +01:00
'cf_tab' => array ( 'type' => 'varchar' , 'precision' => '64' , 'comment' => 'tab customfield should be shown' ),
'cf_readonly' => array ( 'type' => 'ascii' , 'meta' => 'account-commasep' , 'precision' => '2048' , 'comment' => 'comma-separated account_id' )
2016-04-02 21:55:08 +02:00
),
'pk' => array ( 'cf_id' ),
'fk' => array (),
'ix' => array ( array ( 'cf_app' , 'cf_order' )),
'uc' => array ( array ( 'cf_app' , 'cf_name' ))
),
'egw_sharing' => array (
'fd' => array (
'share_id' => array ( 'type' => 'auto' , 'nullable' => False , 'comment' => 'auto-id' ),
'share_token' => array ( 'type' => 'ascii' , 'precision' => '64' , 'nullable' => False , 'comment' => 'secure token' ),
2024-09-10 09:48:07 +02:00
'share_path' => array ( 'type' => 'varchar' , 'precision' => '1024' , 'nullable' => False , 'comment' => 'path to share' ),
2016-04-02 21:55:08 +02:00
'share_owner' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False , 'comment' => 'owner of share' ),
'share_expires' => array ( 'type' => 'date' , 'comment' => 'expire date of share' ),
'share_writable' => array ( 'type' => 'int' , 'precision' => '1' , 'nullable' => False , 'default' => '0' , 'comment' => '0=readable, 1=writable' ),
'share_with' => array ( 'type' => 'varchar' , 'precision' => '4096' , 'comment' => 'email addresses, comma seperated' ),
'share_passwd' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'optional password-hash' ),
2023-10-23 08:01:33 +02:00
'share_pw_reversable' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'optional reversible password' ),
2024-09-10 09:48:07 +02:00
'share_encryption' => array ( 'type' => 'int' , 'precision' => '4' , 'comment' => 'Type of encryption, user or system (See Credentials)' ),
2023-10-23 08:01:33 +02:00
'share_modified' => array ( 'type' => 'timestamp' , 'precision' => '8' , 'nullable' => False ),
'share_modifier' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' ),
2016-04-02 21:55:08 +02:00
'share_created' => array ( 'type' => 'timestamp' , 'nullable' => False , 'comment' => 'creation date' ),
'share_last_accessed' => array ( 'type' => 'timestamp' , 'comment' => 'last access of share' )
),
'pk' => array ( 'share_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ( 'share_token' )
),
'egw_mailaccounts' => array (
'fd' => array (
'mail_id' => array ( 'type' => 'auto' , 'nullable' => False , 'comment' => 'the id' ),
'account_id' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '4' , 'nullable' => False , 'comment' => 'account id of the owner, can be user AND group' ),
'mail_type' => array ( 'type' => 'int' , 'precision' => '1' , 'nullable' => False , 'comment' => '0=active, 1=alias, 2=forward, 3=forwardOnly, 4=quota' ),
'mail_value' => array ( 'type' => 'ascii' , 'precision' => '128' , 'nullable' => False , 'comment' => 'the value (that should be) corresponding to the mail_type' )
),
'pk' => array ( 'mail_id' ),
'fk' => array (),
'ix' => array ( 'mail_value' , array ( 'account_id' , 'mail_type' )),
'uc' => array ()
),
'egw_ea_accounts' => array (
'fd' => array (
'acc_id' => array ( 'type' => 'auto' , 'nullable' => False ),
'acc_name' => array ( 'type' => 'varchar' , 'precision' => '80' , 'comment' => 'description' ),
'ident_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False , 'comment' => 'standard identity' ),
'acc_imap_host' => array ( 'type' => 'ascii' , 'precision' => '128' , 'nullable' => False , 'comment' => 'imap hostname' ),
'acc_imap_ssl' => array ( 'type' => 'int' , 'precision' => '1' , 'nullable' => False , 'default' => '0' , 'comment' => '0=none, 1=starttls, 2=tls, 3=ssl, &8=validate certificate' ),
'acc_imap_port' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False , 'default' => '143' , 'comment' => 'imap port' ),
'acc_sieve_enabled' => array ( 'type' => 'bool' , 'default' => '0' , 'comment' => 'sieve enabled' ),
'acc_sieve_host' => array ( 'type' => 'ascii' , 'precision' => '128' , 'comment' => 'sieve host, default imap_host' ),
'acc_sieve_port' => array ( 'type' => 'int' , 'precision' => '4' , 'default' => '4190' ),
'acc_folder_sent' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'sent folder' ),
'acc_folder_trash' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'trash folder' ),
'acc_folder_draft' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'draft folder' ),
'acc_folder_template' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'template folder' ),
2016-04-29 13:23:05 +02:00
'acc_folder_archive' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'archive folder' ),
2016-04-02 21:55:08 +02:00
'acc_smtp_host' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'smtp hostname' ),
'acc_smtp_ssl' => array ( 'type' => 'int' , 'precision' => '1' , 'nullable' => False , 'default' => '0' , 'comment' => '0=none, 1=starttls, 2=tls, 3=ssl, &8=validate certificate' ),
'acc_smtp_port' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False , 'default' => '25' , 'comment' => 'smtp port' ),
'acc_smtp_type' => array ( 'type' => 'ascii' , 'precision' => '32' , 'default' => 'emailadmin_smtp' , 'comment' => 'smtp class to use' ),
'acc_imap_type' => array ( 'type' => 'ascii' , 'precision' => '32' , 'default' => 'emailadmin_imap' , 'comment' => 'imap class to use' ),
'acc_imap_logintype' => array ( 'type' => 'ascii' , 'precision' => '20' , 'comment' => 'standard, vmailmgr, admin, uidNumber' ),
'acc_domain' => array ( 'type' => 'varchar' , 'precision' => '100' , 'comment' => 'domain name' ),
'acc_user_editable' => array ( 'type' => 'bool' , 'nullable' => False , 'default' => '1' , 'comment' => '0=no, 1=yes' ),
'acc_sieve_ssl' => array ( 'type' => 'int' , 'precision' => '1' , 'default' => '1' , 'comment' => '0=none, 1=starttls, 2=tls, 3=ssl, &8=validate certificate' ),
'acc_modified' => array ( 'type' => 'timestamp' , 'nullable' => False , 'default' => 'current_timestamp' ),
'acc_modifier' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' ),
'acc_smtp_auth_session' => array ( 'type' => 'bool' , 'comment' => '0=no, 1=yes, use username/pw from current user' ),
'acc_folder_junk' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'junk folder' ),
'acc_imap_default_quota' => array ( 'type' => 'int' , 'precision' => '4' , 'comment' => 'default quota, if no user specific one set' ),
'acc_imap_timeout' => array ( 'type' => 'int' , 'precision' => '2' , 'comment' => 'timeout for imap connection' ),
2016-10-28 14:27:07 +02:00
'acc_user_forward' => array ( 'type' => 'bool' , 'default' => '0' , 'comment' => 'allow user to define forwards' ),
2017-05-31 15:10:58 +02:00
'acc_further_identities' => array ( 'type' => 'int' , 'precision' => '1' , 'nullable' => False , 'default' => '1' , 'comment' => '0=no, 1=yes, 2=only matching aliases' ),
'acc_folder_ham' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'ham folder' ),
'acc_spam_api' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'SpamTitan API URL' )
2016-04-02 21:55:08 +02:00
),
'pk' => array ( 'acc_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ()
),
'egw_ea_credentials' => array (
'fd' => array (
'cred_id' => array ( 'type' => 'auto' , 'nullable' => False ),
'acc_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False , 'comment' => 'into egw_ea_accounts' ),
2021-02-08 16:33:54 +01:00
'cred_type' => array ( 'type' => 'int' , 'precision' => '2' , 'nullable' => False , 'comment' => '&1=imap, &2=smtp, &4=admin' ),
2016-04-02 21:55:08 +02:00
'account_id' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False , 'comment' => 'account_id or 0=all' ),
'cred_username' => array ( 'type' => 'varchar' , 'precision' => '80' , 'nullable' => False , 'comment' => 'username' ),
2018-04-04 15:23:56 +02:00
'cred_password' => array ( 'type' => 'varchar' , 'precision' => '16384' , 'comment' => 'password encrypted' ),
2016-04-02 21:55:08 +02:00
'cred_pw_enc' => array ( 'type' => 'int' , 'precision' => '1' , 'default' => '0' , 'comment' => '0=not, 1=user pw, 2=system' )
),
'pk' => array ( 'cred_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ( array ( 'acc_id' , 'account_id' , 'cred_type' ))
),
'egw_ea_identities' => array (
'fd' => array (
'ident_id' => array ( 'type' => 'auto' , 'nullable' => False ),
'acc_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False , 'comment' => 'for which account' ),
'ident_realname' => array ( 'type' => 'varchar' , 'precision' => '128' , 'nullable' => False , 'comment' => 'real name' ),
'ident_email' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'email address' ),
'ident_org' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'organisation' ),
'ident_signature' => array ( 'type' => 'text' , 'comment' => 'signature text' ),
'account_id' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '4' , 'nullable' => False , 'default' => '0' , 'comment' => '0=all users of give mail account' ),
'ident_name' => array ( 'type' => 'varchar' , 'precision' => '128' , 'comment' => 'name of identity to display' )
),
'pk' => array ( 'ident_id' ),
'fk' => array (),
'ix' => array (),
'uc' => array ()
),
'egw_ea_valid' => array (
'fd' => array (
'acc_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'account_id' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '4' , 'nullable' => False )
),
'pk' => array (),
'fk' => array (),
'ix' => array ( array ( 'account_id' , 'acc_id' )),
'uc' => array ( array ( 'acc_id' , 'account_id' ))
),
'egw_ea_notifications' => array (
'fd' => array (
'notif_id' => array ( 'type' => 'auto' , 'nullable' => False ),
'acc_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False , 'comment' => 'mail account' ),
'account_id' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False , 'comment' => 'user account' ),
'notif_folder' => array ( 'type' => 'varchar' , 'precision' => '255' , 'nullable' => False , 'comment' => 'folder name' )
),
'pk' => array ( 'notif_id' ),
'fk' => array (),
'ix' => array ( array ( 'account_id' , 'acc_id' )),
'uc' => array ()
2020-10-13 16:56:06 +02:00
),
'egw_addressbook_shared' => array (
'fd' => array (
'shared_id' => array ( 'type' => 'auto' , 'nullable' => False ),
'contact_id' => array ( 'type' => 'int' , 'precision' => '4' , 'nullable' => False ),
'shared_with' => array ( 'type' => 'int' , 'meta' => 'account' , 'precision' => '4' , 'nullable' => False ),
'shared_by' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False ),
'shared_at' => array ( 'type' => 'timestamp' , 'nullable' => False , 'default' => 'current_timestamp' ),
2020-10-19 11:56:00 +02:00
'shared_writable' => array ( 'type' => 'bool' , 'nullable' => False , 'default' => '0' ),
'shared_deleted' => array ( 'type' => 'timestamp' , 'comment' => 'timestamp, if deleted' )
2020-10-13 16:56:06 +02:00
),
'pk' => array ( 'shared_id' ),
'fk' => array (),
'ix' => array ( 'contact_id' , 'shared_with' ),
2020-10-19 11:56:00 +02:00
'uc' => array ( array ( 'shared_by' , 'shared_with' , 'contact_id' ))
2023-06-30 20:45:31 +02:00
),
'egw_tokens' => array (
'fd' => array (
2023-07-03 17:09:26 +02:00
'token_id' => array ( 'type' => 'auto' , 'precision' => '4' , 'nullable' => False ),
2023-06-30 20:45:31 +02:00
'account_id' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False , 'comment' => '0=all users' ),
'token_hash' => array ( 'type' => 'ascii' , 'precision' => '128' , 'nullable' => False , 'comment' => 'hash of token' ),
'token_limits' => array ( 'type' => 'ascii' , 'meta' => 'json' , 'precision' => '4096' , 'comment' => 'limit run rights of session' ),
'token_created' => array ( 'type' => 'timestamp' , 'nullable' => False ),
'token_created_by' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' , 'nullable' => False ),
'token_valid_until' => array ( 'type' => 'timestamp' ),
'token_revoked' => array ( 'type' => 'timestamp' ),
'token_revoked_by' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' ),
2023-07-03 17:09:26 +02:00
'token_remark' => array ( 'type' => 'varchar' , 'precision' => '1024' ),
'token_updated' => array ( 'type' => 'timestamp' ),
'token_updated_by' => array ( 'type' => 'int' , 'meta' => 'user' , 'precision' => '4' )
2023-06-30 20:45:31 +02:00
),
'pk' => array ( 'token_id' ),
'fk' => array (),
'ix' => array ( 'account_id' ),
'uc' => array ()
2016-10-28 14:27:07 +02:00
)
2024-08-12 14:32:14 +02:00
);