+ static public function beforeSchemaUpdate()
+ {
+ $table = strtolower(get_called_class());
+ $schema = Schema::get();
+ $schemadef = $schema->getTableDef($table);
+
+ // 2016-01-06 We have to make sure there is no conversation with id==0 since it will screw up auto increment resequencing
+ if ($schemadef['fields']['id']['auto_increment']) {
+ // since we already have auto incrementing ('serial') we can continue
+ return;
+ }
+
+ // The conversation will be recreated in upgrade.php, which will
+ // generate a new URI, but that's collateral damage for you.
+ $conv = new Conversation();
+ $conv->id = 0;
+ if ($conv->find()) {
+ while ($conv->fetch()) {
+ // Since we have filtered on 0 this only deletes such entries
+ // which I have been afraid wouldn't work, but apparently does!
+ // (I thought it would act as null or something and find _all_ conversation entries)
+ $conv->delete();
+ }
+ }
+ }
+