- conversation.uri needs to be nullable

- factory method for creating new local conversations
This commit is contained in:
Zach Copley 2010-02-17 01:11:14 -08:00
parent a2f8c5da17
commit ed46a38ecf
3 changed files with 34 additions and 4 deletions

View File

@ -36,14 +36,43 @@ class Conversation extends Memcached_DataObject
public $__table = 'conversation'; // table name public $__table = 'conversation'; // table name
public $id; // int(4) primary_key not_null public $id; // int(4) primary_key not_null
public $uri; // varchar(225) unique_key not_null public $uri; // varchar(225) unique_key
public $created; // datetime not_null public $created; // datetime not_null
public $modified; // timestamp not_null default_CURRENT_TIMESTAMP public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
/* Static get */ /* Static get */
function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Session',$k,$v); } function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('conversation',$k,$v); }
/* the code above is auto generated do not remove the tag below */ /* the code above is auto generated do not remove the tag below */
###END_AUTOCODE ###END_AUTOCODE
/**
* Factory method for creating a new conversation
*
* @return Conversation the new conversation DO
*/
static function create()
{
$conv = new Conversation();
$conv->created = common_sql_now();
$id = $conv->insert();
if (empty($id)) {
common_log_db_error($conv, 'INSERT', __FILE__);
return null;
}
$orig = clone($conv);
$orig->uri = common_local_url('conversation', array('id' => $id));
$result = $orig->update($conv);
if (empty($result)) {
common_log_db_error($conv, 'UPDATE', __FILE__);
return null;
}
return $conv;
}
} }

View File

@ -49,12 +49,13 @@ consumer_key = K
[conversation] [conversation]
id = 129 id = 129
uri = 130 uri = 2
created = 142 created = 142
modified = 384 modified = 384
[conversation__keys] [conversation__keys]
id = N id = N
uri = U
[deleted_notice] [deleted_notice]
id = 129 id = 129

View File

@ -636,7 +636,7 @@ create table inbox (
create table conversation ( create table conversation (
id integer auto_increment primary key comment 'unique identifier', id integer auto_increment primary key comment 'unique identifier',
uri varchar(225) not null unique comment 'URI of the conversation', uri varchar(225) unique comment 'URI of the conversation',
created datetime not null comment 'date this record was created', created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified' modified timestamp comment 'date this record was modified'
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;