public $__table = 'attention'; // table name
public $notice_id; // int(4) primary_key not_null
public $profile_id; // int(4) primary_key not_null
- public $reason; // varchar(255)
+ public $reason; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
'fields' => array(
'notice_id' => array('type' => 'int', 'not null' => true, 'description' => 'notice_id to give attention'),
'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'profile_id for feed receiver'),
- 'reason' => array('type' => 'varchar', 'length' => 255, 'description' => 'Optional reason why this was brought to the attention of profile_id'),
+ 'reason' => array('type' => 'varchar', 'length' => 191, 'description' => 'Optional reason why this was brought to the attention of profile_id'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $width; // int(4) primary_key not_null
public $height; // int(4) primary_key not_null
public $mediatype; // varchar(32) not_null
- public $filename; // varchar(255)
- public $url; // varchar(255) unique_key
+ public $filename; // varchar(191) not 255 because utf8mb4 takes more space
+ public $url; // varchar(191) unique_key not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'width' => array('type' => 'int', 'not null' => true, 'description' => 'image width'),
'height' => array('type' => 'int', 'not null' => true, 'description' => 'image height'),
'mediatype' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'file type'),
- 'filename' => array('type' => 'varchar', 'length' => 255, 'description' => 'local filename, if local'),
- 'url' => array('type' => 'varchar', 'length' => 255, 'description' => 'avatar location'),
+ 'filename' => array('type' => 'varchar', 'length' => 191, 'description' => 'local filename, if local'),
+ 'url' => array('type' => 'varchar', 'length' => 191, 'description' => 'avatar location'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $__table = 'config'; // table name
public $section; // varchar(32) primary_key not_null
public $setting; // varchar(32) primary_key not_null
- public $value; // varchar(255)
+ public $value; // varchar(191) not 255 because utf8mb4 takes more space
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
'fields' => array(
'section' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'default' => '', 'description' => 'configuration section'),
'setting' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'default' => '', 'description' => 'configuration setting'),
- 'value' => array('type' => 'varchar', 'length' => 255, 'description' => 'configuration value'),
+ 'value' => array('type' => 'varchar', 'length' => 191, 'description' => 'configuration value'),
),
'primary key' => array('section', 'setting'),
);
public $__table = 'confirm_address'; // table name
public $code; // varchar(32) primary_key not_null
public $user_id; // int(4) not_null
- public $address; // varchar(255) not_null
- public $address_extra; // varchar(255) not_null
+ public $address; // varchar(191) not_null not 255 because utf8mb4 takes more space
+ public $address_extra; // varchar(191) not_null not 255 because utf8mb4 takes more space
public $address_type; // varchar(8) not_null
public $claimed; // datetime()
public $sent; // datetime()
'fields' => array(
'code' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'good random code'),
'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'user who requested confirmation'),
- 'address' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'address (email, xmpp, SMS, etc.)'),
- 'address_extra' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'carrier ID, for SMS'),
+ 'address' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'address (email, xmpp, SMS, etc.)'),
+ 'address_extra' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'carrier ID, for SMS'),
'address_type' => array('type' => 'varchar', 'length' => 8, 'not null' => true, 'description' => 'address type ("email", "xmpp", "sms")'),
'claimed' => array('type' => 'datetime', 'description' => 'date this was claimed for queueing'),
'sent' => array('type' => 'datetime', 'description' => 'date this was sent for queueing'),
/* the code below is auto generated do not remove the above tag */
public $__table = 'consumer'; // table name
- public $consumer_key; // varchar(255) primary_key not_null
- public $consumer_secret; // varchar(255) not_null
+ public $consumer_key; // varchar(191) primary_key not_null not 255 because utf8mb4 takes more space
+ public $consumer_secret; // varchar(191) not_null not 255 because utf8mb4 takes more space
public $seed; // char(32) not_null
public $created; // datetime not_null
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
return array(
'description' => 'OAuth consumer record',
'fields' => array(
- 'consumer_key' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'unique identifier, root URL'),
- 'consumer_secret' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'secret value'),
+ 'consumer_key' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'unique identifier, root URL'),
+ 'consumer_secret' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'secret value'),
'seed' => array('type' => 'char', 'length' => 32, 'not null' => true, 'description' => 'seed for new tokens by this consumer'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
{
public $__table = 'conversation'; // table name
public $id; // int(4) primary_key not_null
- public $uri; // varchar(255) unique_key
+ public $uri; // varchar(191) unique_key not 255 because utf8mb4 takes more space
public $created; // datetime not_null
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
return array(
'fields' => array(
'id' => array('type' => 'int', 'not null' => true, 'description' => 'should be set from root notice id (since 2014-03-01 commit)'),
- 'uri' => array('type' => 'varchar', 'not null'=>true, 'length' => 255, 'description' => 'URI of the conversation'),
+ 'uri' => array('type' => 'varchar', 'not null'=>true, 'length' => 191, 'description' => 'URI of the conversation'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $__table = 'deleted_notice'; // table name
public $id; // int(4) primary_key not_null
public $profile_id; // int(4) not_null
- public $uri; // varchar(255) unique_key
+ public $uri; // varchar(191) unique_key not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $deleted; // datetime() not_null
'fields' => array(
'id' => array('type' => 'int', 'not null' => true, 'description' => 'identity of notice'),
'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'author of the notice'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universally unique identifier, usually a tag URI'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'description' => 'universally unique identifier, usually a tag URI'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date the notice record was created'),
'deleted' => array('type' => 'datetime', 'not null' => true, 'description' => 'date the notice record was created'),
),
{
public $__table = 'file'; // table name
public $id; // int(4) primary_key not_null
- public $url; // varchar(255) unique_key
+ public $url; // varchar(191) unique_key not 255 because utf8mb4 takes more space
public $mimetype; // varchar(50)
public $size; // int(4)
- public $title; // varchar(255)
+ public $title; // varchar(191) not 255 because utf8mb4 takes more space
public $date; // int(4)
public $protected; // int(4)
- public $filename; // varchar(255)
+ public $filename; // varchar(191) not 255 because utf8mb4 takes more space
public $width; // int(4)
public $height; // int(4)
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
return array(
'fields' => array(
'id' => array('type' => 'serial', 'not null' => true),
- 'url' => array('type' => 'varchar', 'length' => 255, 'description' => 'destination URL after following redirections'),
+ 'url' => array('type' => 'varchar', 'length' => 191, 'description' => 'destination URL after following redirections'),
'mimetype' => array('type' => 'varchar', 'length' => 50, 'description' => 'mime type of resource'),
'size' => array('type' => 'int', 'description' => 'size of resource when available'),
- 'title' => array('type' => 'varchar', 'length' => 255, 'description' => 'title of resource when available'),
+ 'title' => array('type' => 'varchar', 'length' => 191, 'description' => 'title of resource when available'),
'date' => array('type' => 'int', 'description' => 'date of resource according to http query'),
'protected' => array('type' => 'int', 'description' => 'true when URL is private (needs login)'),
- 'filename' => array('type' => 'varchar', 'length' => 255, 'description' => 'if a local file, name of the file'),
+ 'filename' => array('type' => 'varchar', 'length' => 191, 'description' => 'if a local file, name of the file'),
'width' => array('type' => 'int', 'description' => 'width in pixels, if it can be described as such and data is available'),
'height' => array('type' => 'int', 'description' => 'height in pixels, if it can be described as such and data is available'),
}
// TODO: max field length
- if ($redir_url === $given_url || strlen($redir_url) > 255 || !$followRedirects) {
+ if ($redir_url === $given_url || strlen($redir_url) > 191 || !$followRedirects) {
// Save the File object based on our lookup trace
$file = File::saveNew($redir_data, $given_url);
} else {
/* the code below is auto generated do not remove the above tag */
public $__table = 'file_redirection'; // table name
- public $url; // varchar(255) primary_key not_null
+ public $url; // varchar(191) primary_key not_null not 255 because utf8mb4 takes more space
public $file_id; // int(4)
public $redirections; // int(4)
public $httpcode; // int(4)
{
return array(
'fields' => array(
- 'url' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'short URL (or any other kind of redirect) for file (id)'),
+ 'url' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'short URL (or any other kind of redirect) for file (id)'),
'file_id' => array('type' => 'int', 'description' => 'short URL for what URL/file'),
'redirections' => array('type' => 'int', 'description' => 'redirect count'),
'httpcode' => array('type' => 'int', 'description' => 'HTTP status code (20x, 30x, etc.)'),
{
public $__table = 'file_thumbnail'; // table name
public $file_id; // int(4) primary_key not_null
- public $url; // varchar(255) unique_key
- public $filename; // varchar(255)
+ public $url; // varchar(191) unique_key not 255 because utf8mb4 takes more space
+ public $filename; // varchar(191) not 255 because utf8mb4 takes more space
public $width; // int(4) primary_key
public $height; // int(4) primary_key
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
return array(
'fields' => array(
'file_id' => array('type' => 'int', 'not null' => true, 'description' => 'thumbnail for what URL/file'),
- 'url' => array('type' => 'varchar', 'length' => 255, 'description' => 'URL of thumbnail'),
- 'filename' => array('type' => 'varchar', 'length' => 255, 'description' => 'if stored locally, filename is put here'),
+ 'url' => array('type' => 'varchar', 'length' => 191, 'description' => 'URL of thumbnail'),
+ 'filename' => array('type' => 'varchar', 'length' => 191, 'description' => 'if stored locally, filename is put here'),
'width' => array('type' => 'int', 'description' => 'width of thumbnail'),
'height' => array('type' => 'int', 'description' => 'height of thumbnail'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
public $user_id; // int(4) primary_key not_null
public $foreign_id; // bigint(8) primary_key not_null unsigned
public $service; // int(4) primary_key not_null
- public $credentials; // varchar(255)
+ public $credentials; // varchar(191) not 255 because utf8mb4 takes more space
public $noticesync; // tinyint(1) not_null default_1
public $friendsync; // tinyint(1) not_null default_2
public $profilesync; // tinyint(1) not_null default_1
'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'link to user on this system, if exists'),
'foreign_id' => array('type' => 'int', 'size' => 'big', 'unsigned' => true, 'not null' => true, 'description' => 'link to user on foreign service, if exists'),
'service' => array('type' => 'int', 'not null' => true, 'description' => 'foreign key to service'),
- 'credentials' => array('type' => 'varchar', 'length' => 255, 'description' => 'authc credentials, typically a password'),
+ 'credentials' => array('type' => 'varchar', 'length' => 191, 'description' => 'authc credentials, typically a password'),
'noticesync' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 1, 'description' => 'notice synchronization, bit 1 = sync outgoing, bit 2 = sync incoming, bit 3 = filter local replies'),
'friendsync' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 2, 'description' => 'friend synchronization, bit 1 = sync outgoing, bit 2 = sync incoming'),
'profilesync' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 1, 'description' => 'profile synchronization, bit 1 = sync outgoing, bit 2 = sync incoming'),
public $__table = 'foreign_service'; // table name
public $id; // int(4) primary_key not_null
public $name; // varchar(32) unique_key not_null
- public $description; // varchar(255)
+ public $description; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'fields' => array(
'id' => array('type' => 'int', 'not null' => true, 'description' => 'numeric key for service'),
'name' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'name of the service'),
- 'description' => array('type' => 'varchar', 'length' => 255, 'description' => 'description'),
+ 'description' => array('type' => 'varchar', 'length' => 191, 'description' => 'description'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $__table = 'foreign_user'; // table name
public $id; // bigint(8) primary_key not_null
public $service; // int(4) primary_key not_null
- public $uri; // varchar(255) unique_key not_null
- public $nickname; // varchar(255)
+ public $uri; // varchar(191) unique_key not_null not 255 because utf8mb4 takes more space
+ public $nickname; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'fields' => array(
'id' => array('type' => 'int', 'size' => 'big', 'not null' => true, 'description' => 'unique numeric key on foreign service'),
'service' => array('type' => 'int', 'not null' => true, 'description' => 'foreign key to service'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'identifying URI'),
- 'nickname' => array('type' => 'varchar', 'length' => 255, 'description' => 'nickname on foreign service'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'identifying URI'),
+ 'nickname' => array('type' => 'varchar', 'length' => 191, 'description' => 'nickname on foreign service'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $group_id; // int(4) primary_key not_null
public $profile_id; // int(4) primary_key not_null
public $is_admin; // tinyint(1)
- public $uri; // varchar(255)
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'group_id' => array('type' => 'int', 'not null' => true, 'description' => 'foreign key to user_group'),
'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'foreign key to profile table'),
'is_admin' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'is this user an admin?'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universal identifier'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'description' => 'universal identifier'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $__table = 'invitation'; // table name
public $code; // varchar(32) primary_key not_null
public $user_id; // int(4) not_null
- public $address; // varchar(255) multiple_key not_null
+ public $address; // varchar(191) multiple_key not_null not 255 because utf8mb4 takes more space
public $address_type; // varchar(8) multiple_key not_null
public $registered_user_id; // int(4) not_null
public $created; // datetime() not_null
'fields' => array(
'code' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'random code for an invitation'),
'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'who sent the invitation'),
- 'address' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'invitation sent to'),
+ 'address' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'invitation sent to'),
'address_type' => array('type' => 'varchar', 'length' => 8, 'not null' => true, 'description' => 'address type ("email", "xmpp", "sms")'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'registered_user_id' => array('type' => 'int', 'not null' => false, 'description' => 'if the invitation is converted, who the new user is'),
public $__table = 'location_namespace'; // table name
public $id; // int(4) primary_key not_null
- public $description; // varchar(255)
+ public $description; // varchar(191)
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
return array(
'fields' => array(
'id' => array('type' => 'int', 'not null' => true, 'description' => 'identity for this namespace'),
- 'description' => array('type' => 'varchar', 'length' => 255, 'description' => 'description of the namespace'),
+ 'description' => array('type' => 'varchar', 'length' => 191, 'description' => 'description of the namespace'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date the record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
return $string;
}
- // We overload so that 'SET NAMES "utf8"' is called for
+ // We overload so that 'SET NAMES "utf8mb4"' is called for
// each connection
function _connect()
$conn = $DB->connection;
if (!empty($conn)) {
if ($DB instanceof DB_mysqli || $DB instanceof MDB2_Driver_mysqli) {
- mysqli_set_charset($conn, 'utf8');
+ mysqli_set_charset($conn, 'utf8mb4');
} else if ($DB instanceof DB_mysql || $DB instanceof MDB2_Driver_mysql) {
- mysql_set_charset('utf8', $conn);
+ mysql_set_charset('utf8mb4', $conn);
}
}
}
/* the code below is auto generated do not remove the above tag */
public $__table = 'nonce'; // table name
- public $consumer_key; // varchar(255) primary_key not_null
+ public $consumer_key; // varchar(191) primary_key not_null not 255 because utf8mb4 takes more space
public $tok; // char(32)
public $nonce; // char(32) primary_key not_null
public $ts; // datetime() primary_key not_null
return array(
'description' => 'OAuth nonce record',
'fields' => array(
- 'consumer_key' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'unique identifier, root URL'),
+ 'consumer_key' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'unique identifier, root URL'),
'tok' => array('type' => 'char', 'length' => 32, 'description' => 'buggy old value, ignored'),
'nonce' => array('type' => 'char', 'length' => 32, 'not null' => true, 'description' => 'nonce'),
'ts' => array('type' => 'datetime', 'not null' => true, 'description' => 'timestamp sent'),
public $__table = 'notice'; // table name
public $id; // int(4) primary_key not_null
public $profile_id; // int(4) multiple_key not_null
- public $uri; // varchar(255) unique_key
+ public $uri; // varchar(191) unique_key not 255 because utf8mb4 takes more space
public $content; // text
public $rendered; // text
- public $url; // varchar(255)
+ public $url; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime multiple_key not_null default_0000-00-00%2000%3A00%3A00
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
public $reply_to; // int(4)
public $location_id; // int(4)
public $location_ns; // int(4)
public $repeat_of; // int(4)
- public $verb; // varchar(255)
- public $object_type; // varchar(255)
+ public $verb; // varchar(191) not 255 because utf8mb4 takes more space
+ public $object_type; // varchar(191) not 255 because utf8mb4 takes more space
public $scope; // int(4)
/* the code above is auto generated do not remove the tag below */
'fields' => array(
'id' => array('type' => 'serial', 'not null' => true, 'description' => 'unique identifier'),
'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'who made the update'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universally unique identifier, usually a tag URI'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'description' => 'universally unique identifier, usually a tag URI'),
'content' => array('type' => 'text', 'description' => 'update content', 'collate' => 'utf8_general_ci'),
'rendered' => array('type' => 'text', 'description' => 'HTML version of the content'),
- 'url' => array('type' => 'varchar', 'length' => 255, 'description' => 'URL of any attachment (image, video, bookmark, whatever)'),
+ 'url' => array('type' => 'varchar', 'length' => 191, 'description' => 'URL of any attachment (image, video, bookmark, whatever)'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
'reply_to' => array('type' => 'int', 'description' => 'notice replied to (usually a guess)'),
'location_id' => array('type' => 'int', 'description' => 'location id if possible'),
'location_ns' => array('type' => 'int', 'description' => 'namespace for location'),
'repeat_of' => array('type' => 'int', 'description' => 'notice this is a repeat of'),
- 'object_type' => array('type' => 'varchar', 'length' => 255, 'description' => 'URI representing activity streams object type', 'default' => 'http://activitystrea.ms/schema/1.0/note'),
- 'verb' => array('type' => 'varchar', 'length' => 255, 'description' => 'URI representing activity streams verb', 'default' => 'http://activitystrea.ms/schema/1.0/post'),
+ 'object_type' => array('type' => 'varchar', 'length' => 191, 'description' => 'URI representing activity streams object type', 'default' => 'http://activitystrea.ms/schema/1.0/note'),
+ 'verb' => array('type' => 'varchar', 'length' => 191, 'description' => 'URI representing activity streams verb', 'default' => 'http://activitystrea.ms/schema/1.0/post'),
'scope' => array('type' => 'int',
'description' => 'bit map for distribution scope; 0 = everywhere; 1 = this server only; 2 = addressees; 4 = followers; null = default'),
),
public $__table = 'notice_source'; // table name
public $code; // varchar(32) primary_key not_null
- public $name; // varchar(255) not_null
- public $url; // varchar(255) not_null
+ public $name; // varchar(191) not_null not 255 because utf8mb4 takes more space
+ public $url; // varchar(191) not_null not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
return array(
'fields' => array(
'code' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'source code'),
- 'name' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'name of the source'),
- 'url' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'url to link to'),
+ 'name' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'name of the source'),
+ 'url' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'url to link to'),
'notice_id' => array('type' => 'int', 'not null' => true, 'description' => 'date this record was created'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
public $__table = 'oauth_application'; // table name
public $id; // int(4) primary_key not_null
public $owner; // int(4) not_null
- public $consumer_key; // varchar(255) not_null
- public $name; // varchar(255) not_null
- public $description; // varchar(255)
- public $icon; // varchar(255) not_null
- public $source_url; // varchar(255)
- public $organization; // varchar(255)
- public $homepage; // varchar(255)
- public $callback_url; // varchar(255) not_null
+ public $consumer_key; // varchar(191) not_null not 255 because utf8mb4 takes more space
+ public $name; // varchar(191) not_null not 255 because utf8mb4 takes more space
+ public $description; // varchar(191) not 255 because utf8mb4 takes more space
+ public $icon; // varchar(191) not_null not 255 because utf8mb4 takes more space
+ public $source_url; // varchar(191) not 255 because utf8mb4 takes more space
+ public $organization; // varchar(191) not 255 because utf8mb4 takes more space
+ public $homepage; // varchar(191) not 255 because utf8mb4 takes more space
+ public $callback_url; // varchar(191) not_null not 255 because utf8mb4 takes more space
public $type; // tinyint(1)
public $access_type; // tinyint(1)
public $created; // datetime not_null
static function maxDesc()
{
// This used to default to textlimit or allow unlimited descriptions,
- // but this isn't part of a notice and the field's limited to 255 chars
- // in the DB, so those seem silly.
+ // but this isn't part of a notice and the field's limited to 191 chars
+ // in the DB, so those seem silly. (utf8mb4 takes up more space, so can't use 255)
//
- // Now just defaulting to 255 max unless a smaller application desclimit
+ // Now just defaulting to 191 max unless a smaller application desclimit
// is actually set. Setting to 0 will use the maximum.
- $max = 255;
+ $max = 191;
$desclimit = intval(common_config('application', 'desclimit'));
if ($desclimit > 0 && $desclimit < $max) {
return $desclimit;
'fields' => array(
'id' => array('type' => 'serial', 'not null' => true, 'description' => 'unique identifier'),
'owner' => array('type' => 'int', 'not null' => true, 'description' => 'owner of the application'),
- 'consumer_key' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'application consumer key'),
- 'name' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'name of the application'),
- 'description' => array('type' => 'varchar', 'length' => 255, 'description' => 'description of the application'),
- 'icon' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'application icon'),
- 'source_url' => array('type' => 'varchar', 'length' => 255, 'description' => 'application homepage - used for source link'),
- 'organization' => array('type' => 'varchar', 'length' => 255, 'description' => 'name of the organization running the application'),
- 'homepage' => array('type' => 'varchar', 'length' => 255, 'description' => 'homepage for the organization'),
- 'callback_url' => array('type' => 'varchar', 'length' => 255, 'description' => 'url to redirect to after authentication'),
+ 'consumer_key' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'application consumer key'),
+ 'name' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'name of the application'),
+ 'description' => array('type' => 'varchar', 'length' => 191, 'description' => 'description of the application'),
+ 'icon' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'application icon'),
+ 'source_url' => array('type' => 'varchar', 'length' => 191, 'description' => 'application homepage - used for source link'),
+ 'organization' => array('type' => 'varchar', 'length' => 191, 'description' => 'name of the organization running the application'),
+ 'homepage' => array('type' => 'varchar', 'length' => 191, 'description' => 'homepage for the organization'),
+ 'callback_url' => array('type' => 'varchar', 'length' => 191, 'description' => 'url to redirect to after authentication'),
'type' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'type of app, 1 = browser, 2 = desktop'),
'access_type' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'default access type, bit 1 = read, bit 2 = write'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
public $profile_id; // int(4) primary_key not_null
public $application_id; // int(4) primary_key not_null
public $access_type; // tinyint(1)
- public $token; // varchar(255)
+ public $token; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime not_null
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'user of the application'),
'application_id' => array('type' => 'int', 'not null' => true, 'description' => 'id of the application'),
'access_type' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'access type, bit 1 = read, bit 2 = write'),
- 'token' => array('type' => 'varchar', 'length' => 255, 'description' => 'request or access token'),
+ 'token' => array('type' => 'varchar', 'length' => 191, 'description' => 'request or access token'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $__table = 'oauth_token_association'; // table name
public $profile_id; // int(4) primary_key not_null
public $application_id; // int(4) primary_key not_null
- public $token; // varchar(255) primary key not null
+ public $token; // varchar(191) primary key not null not 255 because utf8mb4 takes more space
public $created; // datetime not_null
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
'fields' => array(
'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'associated user'),
'application_id' => array('type' => 'int', 'not null' => true, 'description' => 'the application'),
- 'token' => array('type' => 'varchar', 'length' => '255', 'not null' => true, 'description' => 'token used for this association'),
+ 'token' => array('type' => 'varchar', 'length' => '191', 'not null' => true, 'description' => 'token used for this association'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $__table = 'profile'; // table name
public $id; // int(4) primary_key not_null
public $nickname; // varchar(64) multiple_key not_null
- public $fullname; // varchar(255) multiple_key
- public $profileurl; // varchar(255)
- public $homepage; // varchar(255) multiple_key
+ public $fullname; // varchar(191) multiple_key not 255 because utf8mb4 takes more space
+ public $profileurl; // varchar(191) not 255 because utf8mb4 takes more space
+ public $homepage; // varchar(191) multiple_key not 255 because utf8mb4 takes more space
public $bio; // text() multiple_key
- public $location; // varchar(255) multiple_key
+ public $location; // varchar(191) multiple_key not 255 because utf8mb4 takes more space
public $lat; // decimal(10,7)
public $lon; // decimal(10,7)
public $location_id; // int(4)
'fields' => array(
'id' => array('type' => 'serial', 'not null' => true, 'description' => 'unique identifier'),
'nickname' => array('type' => 'varchar', 'length' => 64, 'not null' => true, 'description' => 'nickname or username', 'collate' => 'utf8_general_ci'),
- 'fullname' => array('type' => 'varchar', 'length' => 255, 'description' => 'display name', 'collate' => 'utf8_general_ci'),
- 'profileurl' => array('type' => 'varchar', 'length' => 255, 'description' => 'URL, cached so we dont regenerate'),
- 'homepage' => array('type' => 'varchar', 'length' => 255, 'description' => 'identifying URL', 'collate' => 'utf8_general_ci'),
+ 'fullname' => array('type' => 'varchar', 'length' => 191, 'description' => 'display name', 'collate' => 'utf8_general_ci'),
+ 'profileurl' => array('type' => 'varchar', 'length' => 191, 'description' => 'URL, cached so we dont regenerate'),
+ 'homepage' => array('type' => 'varchar', 'length' => 191, 'description' => 'identifying URL', 'collate' => 'utf8_general_ci'),
'bio' => array('type' => 'text', 'description' => 'descriptive biography', 'collate' => 'utf8_general_ci'),
- 'location' => array('type' => 'varchar', 'length' => 255, 'description' => 'physical location', 'collate' => 'utf8_general_ci'),
+ 'location' => array('type' => 'varchar', 'length' => 191, 'description' => 'physical location', 'collate' => 'utf8_general_ci'),
'lat' => array('type' => 'numeric', 'precision' => 10, 'scale' => 7, 'description' => 'latitude'),
'lon' => array('type' => 'numeric', 'precision' => 10, 'scale' => 7, 'description' => 'longitude'),
'location_id' => array('type' => 'int', 'description' => 'location id if possible'),
public $private; // tinyint(1)
public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
- public $uri; // varchar(255) unique_key
- public $mainpage; // varchar(255)
+ public $uri; // varchar(191) unique_key not 255 because utf8mb4 takes more space
+ public $mainpage; // varchar(191) not 255 because utf8mb4 takes more space
public $tagged_count; // smallint
public $subscriber_count; // smallint
'created' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date the tag was added'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date the tag was modified'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universal identifier'),
- 'mainpage' => array('type' => 'varchar', 'length' => 255, 'description' => 'page to link to'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'description' => 'universal identifier'),
+ 'mainpage' => array('type' => 'varchar', 'length' => 191, 'description' => 'page to link to'),
'tagged_count' => array('type' => 'int', 'default' => 0, 'description' => 'number of people tagged with this tag by this user'),
'subscriber_count' => array('type' => 'int', 'default' => 0, 'description' => 'number of subscribers to this tag'),
),
{
public $__table = 'profile_prefs'; // table name
public $profile_id; // int(4) primary_key not_null
- public $namespace; // varchar(255) not_null
- public $topic; // varchar(255) not_null
+ public $namespace; // varchar(191) not_null
+ public $topic; // varchar(191) not_null
public $data; // text
public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
return array(
'fields' => array(
'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'user'),
- 'namespace' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'namespace, like pluginname or category'),
- 'topic' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'preference key, i.e. description, age...'),
+ 'namespace' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'namespace, like pluginname or category'),
+ 'topic' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'preference key, i.e. description, age...'),
'data' => array('type' => 'blob', 'description' => 'topic data, may be anything'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
public $__table = 'sms_carrier'; // table name
public $id; // int(4) primary_key not_null
public $name; // varchar(64) unique_key
- public $email_pattern; // varchar(255) not_null
+ public $email_pattern; // varchar(191) not_null not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'fields' => array(
'id' => array('type' => 'int', 'not null' => true, 'description' => 'primary key for SMS carrier'),
'name' => array('type' => 'varchar', 'length' => 64, 'description' => 'name of the carrier'),
- 'email_pattern' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'sprintf pattern for making an email address from a phone number'),
+ 'email_pattern' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'sprintf pattern for making an email address from a phone number'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $__table = 'status_network'; // table name
public $site_id; // int(4) primary_key not_null
public $nickname; // varchar(64) unique_key not_null
- public $hostname; // varchar(255) unique_key
- public $pathname; // varchar(255) unique_key
- public $dbhost; // varchar(255)
- public $dbuser; // varchar(255)
- public $dbpass; // varchar(255)
- public $dbname; // varchar(255)
- public $sitename; // varchar(255)
- public $theme; // varchar(255)
- public $logo; // varchar(255)
+ public $hostname; // varchar(191) unique_key not 255 because utf8mb4 takes more space
+ public $pathname; // varchar(191) unique_key not 255 because utf8mb4 takes more space
+ public $dbhost; // varchar(191) not 255 because utf8mb4 takes more space
+ public $dbuser; // varchar(191) not 255 because utf8mb4 takes more space
+ public $dbpass; // varchar(191) not 255 because utf8mb4 takes more space
+ public $dbname; // varchar(191) not 255 because utf8mb4 takes more space
+ public $sitename; // varchar(191) not 255 because utf8mb4 takes more space
+ public $theme; // varchar(191) not 255 because utf8mb4 takes more space
+ public $logo; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
public $subscribed; // int(4) primary_key not_null
public $jabber; // tinyint(1) default_1
public $sms; // tinyint(1) default_1
- public $token; // varchar(255)
- public $secret; // varchar(255)
- public $uri; // varchar(255)
+ public $token; // varchar(191) not 255 because utf8mb4 takes more space
+ public $secret; // varchar(191) not 255 because utf8mb4 takes more space
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'subscribed' => array('type' => 'int', 'not null' => true, 'description' => 'profile being listened to'),
'jabber' => array('type' => 'int', 'size' => 'tiny', 'default' => 1, 'description' => 'deliver jabber messages'),
'sms' => array('type' => 'int', 'size' => 'tiny', 'default' => 1, 'description' => 'deliver sms messages'),
- 'token' => array('type' => 'varchar', 'length' => 255, 'description' => 'authorization token'),
- 'secret' => array('type' => 'varchar', 'length' => 255, 'description' => 'token secret'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universally unique identifier'),
+ 'token' => array('type' => 'varchar', 'length' => 191, 'description' => 'authorization token'),
+ 'secret' => array('type' => 'varchar', 'length' => 191, 'description' => 'token secret'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'description' => 'universally unique identifier'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
/* the code below is auto generated do not remove the above tag */
public $__table = 'token'; // table name
- public $consumer_key; // varchar(255) primary_key not_null
+ public $consumer_key; // varchar(191) primary_key not_null not 255 because utf8mb4 takes more space
public $tok; // char(32) primary_key not_null
public $secret; // char(32) not_null
public $type; // tinyint(1) not_null
public $state; // tinyint(1)
- public $verifier; // varchar(255)
- public $verified_callback; // varchar(255)
+ public $verifier; // varchar(191) not 255 because utf8mb4 takes more space
+ public $verified_callback; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
return array(
'description' => 'OAuth token record',
'fields' => array(
- 'consumer_key' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'unique identifier, root URL'),
+ 'consumer_key' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'unique identifier, root URL'),
'tok' => array('type' => 'char', 'length' => 32, 'not null' => true, 'description' => 'identifying value'),
'secret' => array('type' => 'char', 'length' => 32, 'not null' => true, 'description' => 'secret value'),
'type' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 0, 'description' => 'request or access'),
'state' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'for requests, 0 = initial, 1 = authorized, 2 = used'),
- 'verifier' => array('type' => 'varchar', 'length' => 255, 'description' => 'verifier string for OAuth 1.0a'),
- 'verified_callback' => array('type' => 'varchar', 'length' => 255, 'description' => 'verified callback URL for OAuth 1.0a'),
+ 'verifier' => array('type' => 'varchar', 'length' => 191, 'description' => 'verifier string for OAuth 1.0a'),
+ 'verified_callback' => array('type' => 'varchar', 'length' => 191, 'description' => 'verified callback URL for OAuth 1.0a'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
public $__table = 'user'; // table name
public $id; // int(4) primary_key not_null
public $nickname; // varchar(64) unique_key
- public $password; // varchar(255)
- public $email; // varchar(255) unique_key
- public $incomingemail; // varchar(255) unique_key
+ public $password; // varchar(191) not 255 because utf8mb4 takes more space
+ public $email; // varchar(191) unique_key not 255 because utf8mb4 takes more space
+ public $incomingemail; // varchar(191) unique_key not 255 because utf8mb4 takes more space
public $emailnotifysub; // tinyint(1) default_1
public $emailnotifyfav; // tinyint(1) default_1
public $emailnotifynudge; // tinyint(1) default_1
public $carrier; // int(4)
public $smsnotify; // tinyint(1)
public $smsreplies; // tinyint(1)
- public $smsemail; // varchar(255)
- public $uri; // varchar(255) unique_key
+ public $smsemail; // varchar(191) not 255 because utf8mb4 takes more space
+ public $uri; // varchar(191) unique_key not 255 because utf8mb4 takes more space
public $autosubscribe; // tinyint(1)
public $subscribe_policy; // tinyint(1)
public $urlshorteningservice; // varchar(50) default_ur1.ca
'fields' => array(
'id' => array('type' => 'int', 'not null' => true, 'description' => 'foreign key to profile table'),
'nickname' => array('type' => 'varchar', 'length' => 64, 'description' => 'nickname or username, duped in profile'),
- 'password' => array('type' => 'varchar', 'length' => 255, 'description' => 'salted password, can be null for OpenID users'),
- 'email' => array('type' => 'varchar', 'length' => 255, 'description' => 'email address for password recovery etc.'),
- 'incomingemail' => array('type' => 'varchar', 'length' => 255, 'description' => 'email address for post-by-email'),
+ 'password' => array('type' => 'varchar', 'length' => 191, 'description' => 'salted password, can be null for OpenID users'),
+ 'email' => array('type' => 'varchar', 'length' => 191, 'description' => 'email address for password recovery etc.'),
+ 'incomingemail' => array('type' => 'varchar', 'length' => 191, 'description' => 'email address for post-by-email'),
'emailnotifysub' => array('type' => 'int', 'size' => 'tiny', 'default' => 1, 'description' => 'Notify by email of subscriptions'),
'emailnotifyfav' => array('type' => 'int', 'size' => 'tiny', 'default' => null, 'description' => 'Notify by email of favorites'),
'emailnotifynudge' => array('type' => 'int', 'size' => 'tiny', 'default' => 1, 'description' => 'Notify by email of nudges'),
'carrier' => array('type' => 'int', 'description' => 'foreign key to sms_carrier'),
'smsnotify' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'whether to send notices to SMS'),
'smsreplies' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'whether to send notices to SMS on replies'),
- 'smsemail' => array('type' => 'varchar', 'length' => 255, 'description' => 'built from sms and carrier'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universally unique identifier, usually a tag URI'),
+ 'smsemail' => array('type' => 'varchar', 'length' => 191, 'description' => 'built from sms and carrier'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'description' => 'universally unique identifier, usually a tag URI'),
'autosubscribe' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'automatically subscribe to users who subscribe to us'),
'subscribe_policy' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => '0 = anybody can subscribe; 1 = require approval'),
'urlshorteningservice' => array('type' => 'varchar', 'length' => 50, 'default' => 'internal', 'description' => 'service to use for auto-shortening URLs'),
public $__table = 'user_group'; // table name
public $id; // int(4) primary_key not_null
public $nickname; // varchar(64)
- public $fullname; // varchar(255)
- public $homepage; // varchar(255)
+ public $fullname; // varchar(191) not 255 because utf8mb4 takes more space
+ public $homepage; // varchar(191) not 255 because utf8mb4 takes more space
public $description; // text
- public $location; // varchar(255)
- public $original_logo; // varchar(255)
- public $homepage_logo; // varchar(255)
- public $stream_logo; // varchar(255)
- public $mini_logo; // varchar(255)
+ public $location; // varchar(191) not 255 because utf8mb4 takes more space
+ public $original_logo; // varchar(191) not 255 because utf8mb4 takes more space
+ public $homepage_logo; // varchar(191) not 255 because utf8mb4 takes more space
+ public $stream_logo; // varchar(191) not 255 because utf8mb4 takes more space
+ public $mini_logo; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
- public $uri; // varchar(255) unique_key
- public $mainpage; // varchar(255)
+ public $uri; // varchar(191) unique_key not 255 because utf8mb4 takes more space
+ public $mainpage; // varchar(191) not 255 because utf8mb4 takes more space
public $join_policy; // tinyint
public $force_scope; // tinyint
'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'foreign key to profile table'),
'nickname' => array('type' => 'varchar', 'length' => 64, 'description' => 'nickname for addressing'),
- 'fullname' => array('type' => 'varchar', 'length' => 255, 'description' => 'display name'),
- 'homepage' => array('type' => 'varchar', 'length' => 255, 'description' => 'URL, cached so we dont regenerate'),
+ 'fullname' => array('type' => 'varchar', 'length' => 191, 'description' => 'display name'),
+ 'homepage' => array('type' => 'varchar', 'length' => 191, 'description' => 'URL, cached so we dont regenerate'),
'description' => array('type' => 'text', 'description' => 'group description'),
- 'location' => array('type' => 'varchar', 'length' => 255, 'description' => 'related physical location, if any'),
+ 'location' => array('type' => 'varchar', 'length' => 191, 'description' => 'related physical location, if any'),
- 'original_logo' => array('type' => 'varchar', 'length' => 255, 'description' => 'original size logo'),
- 'homepage_logo' => array('type' => 'varchar', 'length' => 255, 'description' => 'homepage (profile) size logo'),
- 'stream_logo' => array('type' => 'varchar', 'length' => 255, 'description' => 'stream-sized logo'),
- 'mini_logo' => array('type' => 'varchar', 'length' => 255, 'description' => 'mini logo'),
+ 'original_logo' => array('type' => 'varchar', 'length' => 191, 'description' => 'original size logo'),
+ 'homepage_logo' => array('type' => 'varchar', 'length' => 191, 'description' => 'homepage (profile) size logo'),
+ 'stream_logo' => array('type' => 'varchar', 'length' => 191, 'description' => 'stream-sized logo'),
+ 'mini_logo' => array('type' => 'varchar', 'length' => 191, 'description' => 'mini logo'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universal identifier'),
- 'mainpage' => array('type' => 'varchar', 'length' => 255, 'description' => 'page for group info to link to'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'description' => 'universal identifier'),
+ 'mainpage' => array('type' => 'varchar', 'length' => 191, 'description' => 'page for group info to link to'),
'join_policy' => array('type' => 'int', 'size' => 'tiny', 'description' => '0=open; 1=requires admin approval'),
'force_scope' => array('type' => 'int', 'size' => 'tiny', 'description' => '0=never,1=sometimes,-1=always'),
),
public $__table = 'user_im_prefs'; // table name
public $user_id; // int(4) primary_key not_null
- public $screenname; // varchar(255) not_null
- public $transport; // varchar(255) not_null
+ public $screenname; // varchar(191) not_null not 255 because utf8mb4 takes more space
+ public $transport; // varchar(191) not_null not 255 because utf8mb4 takes more space
public $notify; // tinyint(1)
public $replies; // tinyint(1)
public $microid; // tinyint(1)
return array(
'fields' => array(
'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'user'),
- 'screenname' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'screenname on this service'),
- 'transport' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'transport (ex xmpp, aim)'),
+ 'screenname' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'screenname on this service'),
+ 'transport' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'transport (ex xmpp, aim)'),
'notify' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 0, 'description' => 'Notify when a new notice is sent'),
'replies' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 0, 'description' => 'Send replies from people not subscribed to'),
'microid' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 1, 'description' => 'Publish a MicroID'),
public $__table = 'user_username'; // table name
public $user_id; // int(4) not_null
- public $provider_name; // varchar(255) primary_key not_null
- public $username; // varchar(255) primary_key not_null
+ public $provider_name; // varchar(191) primary_key not_null not 255 because utf8mb4 takes more space
+ public $username; // varchar(191) primary_key not_null not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
{
return array(
'fields' => array(
- 'provider_name' => array('type' => 'varchar', 'length' => 255, 'description' => 'provider name'),
- 'username' => array('type' => 'varchar', 'length' => 255, 'description' => 'username'),
+ 'provider_name' => array('type' => 'varchar', 'length' => 191, 'description' => 'provider name'),
+ 'username' => array('type' => 'varchar', 'length' => 191, 'description' => 'username'),
'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'notice id this title relates to'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified'
-) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
+) ENGINE=InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
create table status_network_tag (
site_id integer comment 'unique id',
constraint primary key (site_id, tag),
index status_network_tag_tag_idx (tag)
-) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
+) ENGINE=InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
function DB_Error($code = DB_ERROR, $mode = PEAR_ERROR_RETURN,
$level = E_USER_NOTICE, $debuginfo = null)
{
+ common_debug(var_export($debuginfo,true));
if (is_int($code)) {
$this->PEAR_Error('DB Error: ' . DB::errorMessage($code), $code,
$mode, $level, $debuginfo);
return false;
}
+ public static function getHandlers($name)
+ {
+ return Event::$_handlers[$name];
+ }
+
/**
* Disables any and all handlers that have been set up so far;
* use only if you know it's safe to reinitialize all plugins.
function endCreateTable($name, array $def)
{
$engine = $this->preferredEngine($def);
- return ") ENGINE=$engine CHARACTER SET utf8 COLLATE utf8_bin";
+ return ") ENGINE=$engine CHARACTER SET utf8mb4 COLLATE utf8mb4_bin";
}
function preferredEngine($def)
if (strtolower($oldProps['ENGINE']) != strtolower($engine)) {
$phrase[] = "ENGINE=$engine";
}
- if (strtolower($oldProps['TABLE_COLLATION']) != 'utf8_bin') {
- $phrase[] = 'DEFAULT CHARSET=utf8';
- $phrase[] = 'COLLATE=utf8_bin';
+ if (strtolower($oldProps['TABLE_COLLATION']) != 'utf8mb4_bin') {
+ $phrase[] = 'CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin';
+ $phrase[] = 'DEFAULT CHARACTER SET = utf8mb4';
+ $phrase[] = 'DEFAULT COLLATE = utf8mb4_bin';
}
}
class Homepage_blacklist extends Managed_DataObject
{
public $__table = 'homepage_blacklist'; // table name
- public $pattern; // varchar(255) pattern
+ public $pattern; // varchar(191) pattern not 255 because utf8mb4 takes more space
public $created; // datetime not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
{
return array(
'fields' => array(
- 'pattern' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'blacklist pattern'),
+ 'pattern' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'blacklist pattern'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
class Nickname_blacklist extends Managed_DataObject
{
public $__table = 'nickname_blacklist'; // table name
- public $pattern; // varchar(255) pattern
+ public $pattern; // varchar(191) pattern not 255 because utf8mb4 takes more space
public $created; // datetime not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
{
return array(
'fields' => array(
- 'pattern' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'blacklist pattern'),
+ 'pattern' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'blacklist pattern'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $id; // UUID
public $profile_id; // int
- public $title; // varchar(255)
+ public $title; // varchar(191) not 255 because utf8mb4 takes more space
public $summary; // text
public $content; // text
- public $uri; // text
- public $url; // text
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
+ public $url; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime
public $modified; // datetime
'not null' => true,
'description' => 'Author profile ID'),
'title' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'description' => 'title of the entry'),
'summary' => array('type' => 'text',
'description' => 'initial summary'),
'content' => array('type' => 'text',
'description' => 'HTML content of the entry'),
'uri' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'description' => 'URI (probably http://) for this entry'),
'url' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'description' => 'URL (probably http://) for this entry'),
'created' => array('type' => 'datetime',
'not null' => true,
public $__table = 'bookmark'; // table name
public $id; // char(36) primary_key not_null
public $profile_id; // int(4) not_null
- public $url; // varchar(255) not_null
- public $title; // varchar(255)
+ public $url; // varchar(191) not_null not 255 because utf8mb4 takes more space
+ public $title; // varchar(191) not 255 because utf8mb4 takes more space
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $description; // text
- public $uri; // varchar(255)
public $created; // datetime
public static function schemaDef()
'not null' => true),
'profile_id' => array('type' => 'int', 'not null' => true),
'uri' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
'url' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
- 'title' => array('type' => 'varchar', 'length' => 255),
+ 'title' => array('type' => 'varchar', 'length' => 191),
'description' => array('type' => 'text'),
'created' => array('type' => 'datetime', 'not null' => true),
),
public $__table = 'message'; // table name
public $id; // int(4) primary_key not_null
- public $uri; // varchar(255) unique_key
+ public $uri; // varchar(191) unique_key not 255 because utf8mb4 takes more space
public $from_profile; // int(4) not_null
public $to_profile; // int(4) not_null
public $content; // text()
public $rendered; // text()
- public $url; // varchar(255)
+ public $url; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
public $source; // varchar(32)
return array(
'fields' => array(
'id' => array('type' => 'serial', 'not null' => true, 'description' => 'unique identifier'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universally unique identifier'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'description' => 'universally unique identifier'),
'from_profile' => array('type' => 'int', 'not null' => true, 'description' => 'who the message is from'),
'to_profile' => array('type' => 'int', 'not null' => true, 'description' => 'who the message is to'),
'content' => array('type' => 'text', 'description' => 'message content'),
'rendered' => array('type' => 'text', 'description' => 'HTML version of the content'),
- 'url' => array('type' => 'varchar', 'length' => 255, 'description' => 'URL of any attachment (image, video, bookmark, whatever)'),
+ 'url' => array('type' => 'varchar', 'length' => 191, 'description' => 'URL of any attachment (image, video, bookmark, whatever)'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
'source' => array('type' => 'varchar', 'length' => 32, 'description' => 'source of comment, like "web", "im", or "clientname"'),
{
public $__table = 'email_reminder';
- public $type; // type of reminder
- public $code; // confirmation code
+ public $type; // type of reminder varchar(191) not 255 because utf8mb4 takes more space
+ public $code; // confirmation code varchar(191) not 255 because utf8mb4 takes more space
public $days; // number of days after code was created
public $sent; // timestamp
public $created; // timestamp
'fields' => array(
'type' => array(
'type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true,
'description' => 'type of reminder'
),
'code' => array(
'type' => 'varchar',
'not null' => 'true',
- 'length' => 255,
+ 'length' => 191,
'description' => 'confirmation code'
),
'days' => array(
public $__table = 'happening'; // table name
public $id; // varchar(36) UUID
- public $uri; // varchar(255)
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $profile_id; // int
public $start_time; // datetime
public $end_time; // datetime
- public $title; // varchar(255)
- public $location; // varchar(255)
- public $url; // varchar(255)
+ public $title; // varchar(191) not 255 because utf8mb4 takes more space
+ public $location; // varchar(191) not 255 because utf8mb4 takes more space
+ public $url; // varchar(191) not 255 because utf8mb4 takes more space
public $description; // text
public $created; // datetime
'not null' => true,
'description' => 'UUID'),
'uri' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
'profile_id' => array('type' => 'int', 'not null' => true),
'start_time' => array('type' => 'datetime', 'not null' => true),
'end_time' => array('type' => 'datetime', 'not null' => true),
'title' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
'location' => array('type' => 'varchar',
- 'length' => 255),
+ 'length' => 191),
'url' => array('type' => 'varchar',
- 'length' => 255),
+ 'length' => 191),
'description' => array('type' => 'text'),
'created' => array('type' => 'datetime',
'not null' => true),
public $__table = 'rsvp'; // table name
public $id; // varchar(36) UUID
- public $uri; // varchar(255)
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $profile_id; // int
public $event_id; // varchar(36) UUID
public $response; // tinyint
'not null' => true,
'description' => 'UUID'),
'uri' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
'profile_id' => array('type' => 'int'),
'event_id' => array('type' => 'char',
{
public $__table = 'notice_to_item'; // table name
public $notice_id; // int(4) primary_key not_null
- public $item_id; // varchar(255) not null
+ public $item_id; // varchar(191) not null not 255 because utf8mb4 takes more space
public $created; // datetime
/**
{
return array(
new ColumnDef('notice_id', 'integer', null, false, 'PRI'),
- new ColumnDef('item_id', 'varchar', 255, false, 'UNI'),
+ new ColumnDef('item_id', 'varchar', 191, false, 'UNI'),
new ColumnDef('created', 'datetime', null, false)
);
}
public $__table = 'fave'; // table name
public $notice_id; // int(4) primary_key not_null
public $user_id; // int(4) primary_key not_null
- public $uri; // varchar(255)
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space not 255 because utf8mb4 takes more space
public $created; // datetime multiple_key not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'fields' => array(
'notice_id' => array('type' => 'int', 'not null' => true, 'description' => 'notice that is the favorite'),
'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'user who likes this notice'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'description' => 'universally unique identifier, usually a tag URI'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'description' => 'universally unique identifier, usually a tag URI'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $__table = 'photo'; // table name
public $id; // char (36) // UUID
- public $uri; // varchar (255) // This is the corresponding notice's uri.
- public $photo_uri; // varchar (255)
- public $thumb_uri; // varchar (255)
- public $title; // varchar (255)
+ public $uri; // varchar (191) // This is the corresponding notice's uri. not 255 because utf8mb4 takes more space
+ public $photo_uri; // varchar (191) not 255 because utf8mb4 takes more space
+ public $thumb_uri; // varchar (191) not 255 because utf8mb4 takes more space
+ public $title; // varchar (191) not 255 because utf8mb4 takes more space
public $description; // text
public $profile_id; // int
'not null' => true,
'description' => 'UUID'),
'uri' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
'photo_uri' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
'photo_uri' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
'profile_id' => array('type' => 'int', 'not null' => true),
),
public $id; // int(11)
public $notice_id; // int(11)
public $album_id; // int(11)
- public $uri; // varchar(255)
- public $thumb_uri; // varchar(255)
- public $title; // varchar(255)
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
+ public $thumb_uri; // varchar(191) not 255 because utf8mb4 takes more space
+ public $title; // varchar(191) not 255 because utf8mb4 takes more space
public $photo_description; // text
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'id' => array('type' => 'serial', 'not null' => true, 'description' => 'Unique ID for Photo'),
'notice_id' => array('type' => 'int', 'not null' => true, 'description' => 'Notice ID for the related notice'),
'album_id' => array('type' => 'int', 'not null' => true, 'description' => 'The parent album ID'),
- 'uri' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'unique address for this photo'),
- 'thumb_uri' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'unique address for this photo thumbnail'),
- 'title' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'The Photo title'),
+ 'uri' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'unique address for this photo'),
+ 'thumb_uri' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'unique address for this photo thumbnail'),
+ 'title' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'The Photo title'),
'photo_description' => array('type' => 'text', 'not null' => true, 'description' => 'A description for this photo'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
public $__table = 'GNUsocialPhotoAlbum';
public $album_id; // int(11) -- Unique identifier for the album
public $profile_id; // int(11) -- Profile ID for the owner of the album
- public $album_name; // varchar(255) -- Title for this album
+ public $album_name; // varchar(191) -- Title for this album not 255 because utf8mb4 takes more space
public $album_description; // text -- A description of the album
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'fields' => array(
'album_id' => array('type' => 'serial', 'not null' => true, 'description' => 'Unique identifier for the album'),
'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'Profile ID for the owner of the album'),
- 'album_name' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'Title for this album'),
+ 'album_name' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'Title for this album'),
'album_description' => array('type' => 'text', 'not null' => true, 'description' => 'A description for this album'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
public $__table = 'gnusocialprofileextensionfield';
public $id; // int(11)
public $systemname; // varchar(64)
- public $title; // varchar(255)
+ public $title; // varchar(191) not 255 because utf8mb4 takes more space
public $description; // text
- public $type; // varchar(255)
+ public $type; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
'fields' => array(
'id' => array('type' => 'serial', 'not null' => true, 'description' => 'Unique ID for extension field'),
'systemname' => array('type' => 'varchar', 'not null' => true, 'length' => 64, 'description' => 'field systemname'),
- 'title' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'field title'),
+ 'title' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'field title'),
'description' => array('type' => 'text', 'not null' => true, 'description' => 'field description'),
- 'type' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'field type'),
+ 'type' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'field type'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
public $__table = 'video'; // table name
public $id; // char (36) // UUID
- public $uri; // varchar (255) // This is the corresponding notice's uri.
- public $url; // varchar (255)
+ public $uri; // varchar (191) This is the corresponding notice's uri. not 255 because utf8mb4 takes more space
+ public $url; // varchar (191) not 255 because utf8mb4 takes more space
public $profile_id; // int
public static function getByNotice($notice)
'not null' => true,
'description' => 'UUID'),
'uri' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
'url' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true),
'profile_id' => array('type' => 'int', 'not null' => true),
),
{
public $__table = 'group_message'; // table name
public $id; // char(36) primary_key not_null
- public $uri; // varchar(255)
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $from_profile; // int
public $to_group; // int
public $content;
public $rendered;
- public $url;
+ public $url; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
return array(
'fields' => array(
'id' => array('type' => 'char', 'not null' => true, 'length' => 36, 'description' => 'message uuid'),
- 'uri' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'message uri'),
- 'url' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'representation url'),
+ 'uri' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'message uri'),
+ 'url' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'representation url'),
'from_profile' => array('type' => 'int', 'not null' => true, 'description' => 'sending profile ID'),
'to_group' => array('type' => 'int', 'not null' => true, 'description' => 'receiving group ID'),
'content' => array('type' => 'text', 'not null' => true, 'description' => 'message content'),
*/
class Notice_title extends Managed_DataObject
{
- const MAXCHARS = 255;
+ const MAXCHARS = 191; // not 255 because utf8mb4 takes more space
public $__table = 'notice_title'; // table name
public $notice_id; // int(11) primary_key not_null
- public $title; // varchar(255)
+ public $title; // varchar(191) not 255 because utf8mb4 takes more space
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
public $__table = 'feedsub';
public $id;
- public $uri;
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
// PuSH subscription data
public $huburi;
return array(
'fields' => array(
'id' => array('type' => 'serial', 'not null' => true, 'description' => 'FeedSub local unique id'),
- 'uri' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'FeedSub uri'),
+ 'uri' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'FeedSub uri'),
'huburi' => array('type' => 'text', 'description' => 'FeedSub hub-uri'),
'secret' => array('type' => 'text', 'description' => 'FeedSub stored secret'),
'sub_state' => array('type' => 'enum("subscribe","active","unsubscribe","inactive","nohub")', 'not null' => true, 'description' => 'subscription state'),
public $__table = 'hubsub';
public $hashkey; // sha1(topic . '|' . $callback); (topic, callback) key is too long for myisam in utf8
- public $topic;
- public $callback;
+ public $topic; // varchar(191) not 255 because utf8mb4 takes more space
+ public $callback; // varchar(191) not 255 because utf8mb4 takes more space
public $secret;
public $lease;
public $sub_start;
return array(
'fields' => array(
'hashkey' => array('type' => 'char', 'not null' => true, 'length' => 40, 'description' => 'HubSub hashkey'),
- 'topic' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'HubSub topic'),
- 'callback' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'HubSub callback'),
+ 'topic' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'HubSub topic'),
+ 'callback' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'HubSub callback'),
'secret' => array('type' => 'text', 'description' => 'HubSub stored secret'),
'lease' => array('type' => 'int', 'description' => 'HubSub leasetime'),
'sub_start' => array('type' => 'datetime', 'description' => 'subscription start'),
{
return array(
'fields' => array(
- 'uri' => array('type' => 'varchar', 'length' => 255, 'not null' => true),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'not null' => true),
'profile_id' => array('type' => 'integer'),
'group_id' => array('type' => 'integer'),
'peopletag_id' => array('type' => 'integer'),
- 'feeduri' => array('type' => 'varchar', 'length' => 255),
- 'salmonuri' => array('type' => 'varchar', 'length' => 255),
+ 'feeduri' => array('type' => 'varchar', 'length' => 191),
+ 'salmonuri' => array('type' => 'varchar', 'length' => 191),
'avatar' => array('type' => 'text'),
'created' => array('type' => 'datetime', 'not null' => true),
'modified' => array('type' => 'datetime', 'not null' => true),
}
if (!empty($location)) {
- if (mb_strlen($location) > 255) {
- $location = mb_substr($note, 0, 255 - 3) . ' … ';
+ if (mb_strlen($location) > 191) { // not 255 because utf8mb4 takes more space
+ $location = mb_substr($note, 0, 191 - 3) . ' … ';
}
}
return array(
'fields' => array(
'notice_id' => array('type' => 'int', 'not null' => true, 'description' => 'Notice ID relation'),
- 'profile_uri' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'Profile URI'),
+ 'profile_uri' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'Profile URI'),
'method' => array('type' => 'enum("push","salmon")', 'not null' => true, 'description' => 'source method'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
public $type; // varchar(20)
public $mimetype; // varchar(50)
public $provider; // varchar(50)
- public $provider_url; // varchar(255)
+ public $provider_url; // varchar(191) not 255 because utf8mb4 takes more space
public $width; // int(4)
public $height; // int(4)
public $html; // text()
- public $title; // varchar(255)
+ public $title; // varchar(191) not 255 because utf8mb4 takes more space
public $author_name; // varchar(50)
- public $author_url; // varchar(255)
- public $url; // varchar(255)
+ public $author_url; // varchar(191) not 255 because utf8mb4 takes more space
+ public $url; // varchar(191) not 255 because utf8mb4 takes more space
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
public static function schemaDef()
'type' => array('type' => 'varchar', 'length' => 20, 'description' => 'oEmbed type: photo, video, link, rich'),
'mimetype' => array('type' => 'varchar', 'length' => 50, 'description' => 'mime type of resource'),
'provider' => array('type' => 'varchar', 'length' => 50, 'description' => 'name of this oEmbed provider'),
- 'provider_url' => array('type' => 'varchar', 'length' => 255, 'description' => 'URL of this oEmbed provider'),
+ 'provider_url' => array('type' => 'varchar', 'length' => 191, 'description' => 'URL of this oEmbed provider'),
'width' => array('type' => 'int', 'description' => 'width of oEmbed resource when available'),
'height' => array('type' => 'int', 'description' => 'height of oEmbed resource when available'),
'html' => array('type' => 'text', 'description' => 'html representation of this oEmbed resource when applicable'),
- 'title' => array('type' => 'varchar', 'length' => 255, 'description' => 'title of oEmbed resource when available'),
+ 'title' => array('type' => 'varchar', 'length' => 191, 'description' => 'title of oEmbed resource when available'),
'author_name' => array('type' => 'varchar', 'length' => 50, 'description' => 'author name for this oEmbed resource'),
- 'author_url' => array('type' => 'varchar', 'length' => 255, 'description' => 'author URL for this oEmbed resource'),
- 'url' => array('type' => 'varchar', 'length' => 255, 'description' => 'URL for this oEmbed resource when applicable (photo, link)'),
+ 'author_url' => array('type' => 'varchar', 'length' => 191, 'description' => 'author URL for this oEmbed resource'),
+ 'url' => array('type' => 'varchar', 'length' => 191, 'description' => 'URL for this oEmbed resource when applicable (photo, link)'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
),
'primary key' => array('file_id'),
/* the code below is auto generated do not remove the above tag */
public $__table = 'user_openid'; // table name
- public $canonical; // varchar(255) primary_key not_null
- public $display; // varchar(255) unique_key not_null
+ public $canonical; // varchar(191) primary_key not_null
+ public $display; // varchar(191) unique_key not_null
public $user_id; // int(4) not_null
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
{
return array(
'fields' => array(
- 'canonical' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'OpenID canonical string'),
- 'display' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'OpenID display string'),
+ 'canonical' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'OpenID canonical string'),
+ 'display' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'OpenID display string'),
'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'User ID for OpenID owner'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
/* the code below is auto generated do not remove the above tag */
public $__table = 'user_openid_trustroot'; // table name
- public $trustroot; // varchar(255) primary_key not_null
+ public $trustroot; // varchar(191) primary_key not_null not 255 because utf8mb4 takes more space
public $user_id; // int(4) primary_key not_null
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
{
return array(
'fields' => array(
- 'trustroot' => array('type' => 'varchar', 'not null' => true, 'length' => 255, 'description' => 'OpenID trustroot string'),
+ 'trustroot' => array('type' => 'varchar', 'not null' => true, 'length' => 191, 'description' => 'OpenID trustroot string'),
'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'User ID for OpenID trustroot owner'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),
{
public $__table = 'poll'; // table name
public $id; // char(36) primary key not null -> UUID
- public $uri;
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $profile_id; // int -> profile.id
public $question; // text
public $options; // text; newline(?)-delimited
'description' => 'Per-notice poll data for Poll plugin',
'fields' => array(
'id' => array('type' => 'char', 'length' => 36, 'not null' => true, 'description' => 'UUID'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'not null' => true),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'not null' => true),
'profile_id' => array('type' => 'int'),
'question' => array('type' => 'text'),
'options' => array('type' => 'text'),
{
public $__table = 'poll_response'; // table name
public $id; // char(36) primary key not null -> UUID
- public $uri; // varchar(255)
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $poll_id; // char(36) -> poll.id UUID
public $profile_id; // int -> profile.id
public $selection; // int -> choice #
'description' => 'Record of responses to polls',
'fields' => array(
'id' => array('type' => 'char', 'length' => 36, 'not null' => true, 'description' => 'UUID of the response'),
- 'uri' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'UUID to the response notice'),
+ 'uri' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'UUID to the response notice'),
'poll_id' => array('type' => 'char', 'length' => 36, 'not null' => true, 'description' => 'UUID of poll being responded to'),
'profile_id' => array('type' => 'int'),
'selection' => array('type' => 'int'),
public $__table = 'qna_answer'; // table name
public $id; // char(36) primary key not null -> UUID
- public $uri; // varchar(255)
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $question_id; // char(36) -> question.id UUID
public $profile_id; // int -> question.id
public $best; // (boolean) int -> whether the question asker has marked this as the best answer
),
'uri' => array(
'type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true,
'description' => 'UUID to the answer notice',
),
public $__table = 'qna_question'; // table name
public $id; // char(36) primary key not null -> UUID
- public $uri;
+ public $uri; // varchar(191) not 255 because utf8mb4 takes more space
public $profile_id; // int -> profile.id
public $title; // text
public $description; // text
),
'uri' => array(
'type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true
),
'profile_id' => array('type' => 'int'),
public $__table = 'realtime_channel'; // table name
public $user_id; // int -> user.id, can be null
- public $action; // string
- public $arg1; // argument
- public $arg2; // argument, usually null
+ public $action; // varchar(191) not 255 because utf8mb4 takes more space
+ public $arg1; // varchar(191) argument not 255 because utf8mb4 takes more space
+ public $arg2; // varchar(191) usually null not 255 because utf8mb4 takes more space
public $channel_key; // 128-bit shared secret key
public $audience; // listener count
public $created; // created date
'not null' => false,
'description' => 'user viewing page; can be null'),
'action' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => true,
'description' => 'page being viewed'),
'arg1' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => false,
'description' => 'page argument, like username or tag'),
'arg2' => array('type' => 'varchar',
- 'length' => 255,
+ 'length' => 191,
'not null' => false,
'description' => 'second page argument, like tag for showstream'),
'channel_key' => array('type' => 'varchar',
{
public $__table = 'twitter_synch_status'; // table name
public $foreign_id; // bigint primary_key not_null
- public $timeline; // varchar(255) primary_key not_null
+ public $timeline; // varchar(191) primary_key not_null not 255 because utf8mb4 takes more space
public $last_id; // bigint not_null
public $created; // datetime() not_null
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
return array(
'fields' => array(
'foreign_id' => array('type' => 'int', 'size' => 'big', 'not null' => true, 'description' => 'Foreign message ID'),
- 'timeline' => array('type' => 'varchar', 'length' => 255, 'description' => 'timeline name'),
+ 'timeline' => array('type' => 'varchar', 'length' => 191, 'description' => 'timeline name'),
'last_id' => array('type' => 'int', 'size' => 'big', 'not null' => true, 'description' => 'last id fetched'),
'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'),