Hi all,

I might have stumble upon a bug in sfDoctrineGuardPlugin ... unless
I'm doing something wrong.

For this schema.yml :
Bug:
  actAs: { Timestampable: ~ }
  columns:
    updater_id:   { type: integer }
    approver_id:  { type: integer }
  relations:
    sfGuardUser:
      local: updater_id
      foreign: id
      alias: updater
      foreignAlias: updatedBug
    sfGuardUser:
      local: approver_id
      foreign: id
      alias: approver
      foreignAlias: approvedBug

The BugBase generated is the following :
abstract class BaseBug extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('bug');
        $this->hasColumn('updater_id', 'integer', null, array(
             'type' => 'integer',
             ));
        $this->hasColumn('approver_id', 'integer', null, array(
             'type' => 'integer',
             ));

        $this->option('collation', 'utf8_unicode_ci');
        $this->option('charset', 'utf8');
        $this->option('type', 'InnoDB');
    }

    public function setUp()
    {
        parent::setUp();
        $this->hasOne('sfGuardUser as approver', array(
             'local' => 'approver_id',
             'foreign' => 'id'));

        $timestampable0 = new Doctrine_Template_Timestampable();
        $this->actAs($timestampable0);
    }
}

And the table looks like (cutted table) :
mysql> show indexes from bug;
+-------+-------------------+------------------------
+--------------------+----------------------+
| Table | Non_unique | Key_name         | Seq_in_index | Column_name
|
+-------+-------------------+------------------------
+--------------------+----------------------+
| bug   |                 0 | PRIMARY         |                   1 |
id                   |
| bug   |                 1 | approver_id_idx |                   1 |
approver_id     |
+-------+-------------------+-----------------------
+---------------------+----------------------+
2 rows in set (0.00 sec)

I was expecting somthing more like :
abstract class BaseBugExpected extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('bug');
        $this->hasColumn('updater_id', 'integer', null, array(
             'type' => 'integer',
             ));
        $this->hasColumn('approver_id', 'integer', null, array(
             'type' => 'integer',
             ));

        $this->option('collation', 'utf8_unicode_ci');
        $this->option('charset', 'utf8');
        $this->option('type', 'InnoDB');
    }

    public function setUp()
    {
        parent::setUp();
        $this->hasOne('sfGuardUser as updater', array(
             'local' => 'updater_id',
             'foreign' => 'id'));
        $this->hasOne('sfGuardUser as approver', array(
             'local' => 'approver_id',
             'foreign' => 'id'));

        $timestampable0 = new Doctrine_Template_Timestampable();
        $this->actAs($timestampable0);
    }
}

mysql> show indexes from bug;
+-------+-------------------+------------------------
+--------------------+----------------------+
| Table | Non_unique | Key_name         | Seq_in_index | Column_name
|
+-------+-------------------+------------------------
+--------------------+----------------------+
| bug   |                 0 | PRIMARY         |                   1 |
id                   |
| bug   |                 1 | updater_id_idx   |                   1 |
updater_id     |
| bug   |                 1 | approver_id_idx |                   1 |
approver_id     |
+-------+-------------------+-----------------------
+---------------------+----------------------+
2 rows in set (0.00 sec)


I think it's a bug. Am I right ?
if yes, I guess I should report it. Where and how ?

Many thanks.

-- 
If you want to report a vulnerability issue on symfony, please send it to 
security at symfony-project.com

You received this message because you are subscribed to the Google
Groups "symfony developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/symfony-devs?hl=en

Reply via email to