*/
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
-class User_username extends Memcached_DataObject
+class User_username extends Managed_DataObject
{
###START_AUTOCODE
/* the code below is auto generated do not remove the above tag */
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
- /* Static get */
- function staticGet($k,$v=null)
- {
- return Memcached_DataObject::staticGet('User_username',$k,$v);
- }
-
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
+ public static function schemaDef()
+ {
+ return array(
+ 'fields' => array(
+ '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'),
+ ),
+ 'primary key' => array('provider_name', 'username'),
+ 'indexes' => array(
+ 'user_id_idx' => array('user_id')
+ ),
+ 'foreign keys' => array(
+ 'user_username_user_id_fkey' => array('user', array('user_id' => 'id')),
+ ),
+ );
+ }
+
/**
* Register a user with a username on a given provider
* @param User User object
$user_username->user_id = $user->id;
$user_username->provider_name = $provider_name;
$user_username->username = $username;
- $user_username->created = DB_DataObject_Cast::dateTime();
+ $user_username->created = common_sql_now();
if($user_username->insert()){
return $user_username;
return false;
}
}
-
- function table() {
- return array(
- 'user_id' => DB_DATAOBJECT_INT,
- 'username' => DB_DATAOBJECT_STR,
- 'provider_name' => DB_DATAOBJECT_STR ,
- 'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
- );
- }
-
- // now define the keys.
- function keys() {
- return array('provider_name' => 'K', 'username' => 'K');
- }
}