"1) you have an index on a `brand`, column, but none is defined (instead, you 
have a brand VO)”

That`s it!!! Was blind to this constraint.

Thanks so much Marco!!!

Juan Angosto
Departamento IT
Tlf +34 931 838 949
Fax +34 933 360 162
[email protected] <mailto:[email protected]>
www.ofertix.com <http://www.ofertix.com/>

Este correo electrónico y, en su caso, cualquier fichero anexo al mismo, 
contiene información de carácter confidencial exclusivamente dirigida a su 
destinatario. Queda prohibida su divulgación, copia o distribución a terceros 
sin la previa autorización escrita de OFERTIX,S.L.U. En el caso de haber 
recibido este correo electrónico por error, se ruega que notifique 
inmediatamente esta circunstancia mediante reenvío a la dirección electrónica 
del remitente. De conformidad con lo establecido en la LOPD. OFERTIX,S.L.U.,le 
informa que los datos personales están incorporados a un fichero de 
OFERTIX,S.L.U., con la finalidad de gestionar las comunicaciones corporativas. 
Los derechos de acceso, rectificación, cancelación y oposición pueden 
ejercitarse mediante petición escrita a la dirección de correo: 
[email protected] <mailto:[email protected]>




> El 12 jul 2016, a las 10:30, Marco Pivetta <[email protected]> escribió:
> 
> Few things are weird here:
> 
> 1) you have an index on a `brand`, column, but none is defined (instead, you 
> have a brand VO)
> 2) your schema indeed has no `brand` column either, so the migration was 
> probably generated with the DB in a different state.
> 
> If this is MySQL, remember that MySQL doesn't do transactional DDL, so you 
> might be in some sort of limbo (neither pre- nor post- migration status)
> 
> Marco Pivetta 
> 
> http://twitter.com/Ocramius <http://twitter.com/Ocramius>      
> 
> http://ocramius.github.com/ <http://ocramius.github.com/>
> 
> On 12 July 2016 at 10:27,  <[email protected] 
> <mailto:[email protected]>> wrote:
> Yeah, soory I forget to iclude the schema:
> 
> CREATE TABLE `customer` (
>   `id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,
>   `email` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
>   `brand_id` smallint(6) NOT NULL,
>   `type` smallint(6) NOT NULL,
>   `password` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
>   `version_status` smallint(6) NOT NULL,
>   `legal_id` varchar(24) COLLATE utf8_unicode_ci DEFAULT NULL,
>   `gender` varchar(1) COLLATE utf8_unicode_ci DEFAULT NULL,
>   `birthdate` date DEFAULT NULL,
>   `telephone` varchar(24) COLLATE utf8_unicode_ci DEFAULT NULL,
>   `creation_channel` varchar(2) COLLATE utf8_unicode_ci NOT NULL,
>   `marketing_lead` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
>   `first_name` varchar(96) COLLATE utf8_unicode_ci DEFAULT NULL,
>   `last_name` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
>   `created_at` datetime NOT NULL,
>   `updated_at` datetime NOT NULL,
>   `salt` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
>   `facebook_id` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
>   PRIMARY KEY (`id`),
>   UNIQUE KEY `UNIQ_81398E09E7927C741C52F958B6D4D47` 
> (`email`,`brand_id`,`version_status`)
> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
> 
> 
> 
> On Tuesday, 12 July 2016 10:24:35 UTC+2, Marco Pivetta wrote:
> Not sure what is being asked: we don't know what your schema looks like 
> before generating the migration...
> 
> Marco Pivetta 
> 
> http://twitter.com/Ocramius <http://twitter.com/Ocramius>      
> 
> http://ocramius.github.com/ <http://ocramius.github.com/>
> 
> On 12 July 2016 at 10:21,  <[email protected] <>> wrote:
> I'm getting this error when executing doctrine:migrations:diff
> 
>   [Doctrine\DBAL\Schema\SchemaException] There is no column with name 'brand' 
> on table 'customer'.
> 
> This is the previous migration I've made. I did it manually because 
> doctrine:migrations:diff was creating no migration
> 
> <?php
> 
> namespace Application\Migrations;
> 
> use Doctrine\DBAL\Migrations\AbstractMigration;
> use Doctrine\DBAL\Schema\Schema;
> 
> class Version20160711123625 extends AbstractMigration
> {
>     /**
>      * @param Schema $schema
>      */
>     public function up(Schema $schema)
>     {
>         $this->abortIf($this->connection->getDatabasePlatform()->getName() != 
> 'mysql', 'Migration can only be executed safely on \'mysql\'.');
> 
>         $this->addSql('ALTER TABLE customer CHANGE brand brand_id SMALLINT 
> NOT NULL');
>     }
> 
>     /**
>      * @param Schema $schema
>      */
>     public function down(Schema $schema)
>     {
>         $this->abortIf($this->connection->getDatabasePlatform()->getName() != 
> 'mysql', 'Migration can only be executed safely on \'mysql\'.');
> 
>         $this->addSql('ALTER TABLE customer CHANGE brand_id brand SMALLINT 
> NOT NULL');
>     }
> }
> 
> The migration was done because of brand attribute need to be hydrated as 
> BranIdVO.
> 
> Customer.orm.xml
> 
> <?xml version="1.0" encoding="utf-8"?>
> <doctrine-mapping 
> xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping 
> <http://doctrine-project.org/schemas/orm/doctrine-mapping>" 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
> <http://www.w3.org/2001/XMLSchema-instance>" 
> xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping 
> <http://doctrine-project.org/schemas/orm/doctrine-mapping> 
> http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd 
> <http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd>">
>     <entity name="Component\Customer\Domain\Model\Customer" table="customer"
>             
> repository-class="GAT\CustomerBundle\Infrastructure\DoctrineCustomerRepository">
> 
>         <unique-constraints>
>             <unique-constraint columns="email,brand,version_status"/>
>         </unique-constraints>
> 
>         <id name="id" type="string" column="id" length="36">
>             <generator strategy="NONE"/>
>         </id>
> 
>         <field name="email" type="string" column="email" length="255" 
> nullable="false"/>
>         <field name="type" type="smallint" column="type" length="1" 
> nullable="false"/>
>         <field name="password" type="string" column="password" length="255" 
> nullable="true"/>
>         <field name="versionStatus" type="smallint" column="version_status" 
> length="1" nullable="false"/>
>         <field name="firstName" type="string" column="first_name" length="96" 
> nullable="true"/>
>         <field name="lastName" type="string" column="last_name" length="255" 
> nullable="true"/>
>         <field name="legalId" type="string" column="legal_id" length="24" 
> nullable="true"/>
>         <field name="gender" type="string" column="gender" length="1" 
> nullable="true"/>
>         <field name="birthdate" type="date" column="birthdate" 
> nullable="true"/>
>         <field name="phoneNumber" type="string" column="telephone" 
> length="24" nullable="true"/>
>         <field name="creationChannel" type="string" column="creation_channel" 
> length="2" nullable="false"/>
>         <field name="marketingLead" type="string" column="marketing_lead" 
> length="255" nullable="true"/>
>         <field name="createdAt" type="datetime" column="created_at" 
> nullable="false"/>
>         <field name="updatedAt" type="datetime" column="updated_at" 
> nullable="false"/>
>         <field name="salt" type="string" column="salt" nullable="true"/>
>         <field name="facebookId" type="string" column="facebook_id" 
> nullable="true"/>
> 
>         <embedded name="brand" class="Component\Core\Domain\Model\BrandIdVO" 
> use-column-prefix="false"/>
>     </entity>
> </doctrine-mapping>
> 
> BrandIdVO.orm.xml
> 
> <?xml version="1.0" encoding="utf-8"?>
> <doctrine-mapping 
> xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping 
> <http://doctrine-project.org/schemas/orm/doctrine-mapping>"
>                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance 
> <http://www.w3.org/2001/XMLSchema-instance>"
>                   
> xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping 
> <http://doctrine-project.org/schemas/orm/doctrine-mapping>
>                   
> http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd 
> <http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd>">
>     <embeddable name="Component\Core\Domain\Model\BrandIdVO">
>         <field name="id" column="brand_id" type="smallint" length="2"/>
>     </embeddable>
> </doctrine-mapping>
> 
> Customer.php
> 
> class Customer implements UserInterface, AdvancedUserInterface, 
> \Serializable, EquatableInterface
> {
>     use TimestampableTrait;
> 
>     /** @var CustomerIdVO */
>     protected $id;
> 
>     /** @var EmailVO */
>     protected $email;
> 
>     /** @var BrandIdVO */
>     protected $brand;
> 
>     /** @var CustomerTypeVO */
>     protected $type;
> 
>     /** @var EncryptedPasswordVO */
>     protected $password;
> 
>     /** @var integer */
>     protected $versionStatus;
> 
>     /** @var string */
>     protected $firstName;
> 
>     /** @var string */
>     protected $lastName;
> 
>     /** @var string */
>     protected $legalId;
> 
>     /** @var GenderVO */
>     protected $gender;
> 
>     /** @var \DateTime */
>     protected $birthdate;
> 
>     /** @var PhoneNumberVO */
>     protected $phoneNumber;
> 
>     /** @var integer */
>     protected $feature;
> 
>     /** @var ChannelIdVO */
>     protected $creationChannel;
> 
>     /** @var string */
>     protected $marketingLead;
> 
>     /** @var string */
>     protected $salt;
> 
>     /** @var bool */
>     protected $isActive;
> 
>     /** @var string */
>     protected $facebookId;
> 
> Everything looks fine to me, so I must be shortsighted. Any help would be 
> greatly appreciated.
> 
> 
> 
> 
> 
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "doctrine-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <>.
> To post to this group, send email to [email protected] <>.
> Visit this group at https://groups.google.com/group/doctrine-user 
> <https://groups.google.com/group/doctrine-user>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "doctrine-user" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/doctrine-user 
> <https://groups.google.com/group/doctrine-user>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "doctrine-user" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/doctrine-user/lE9GQWaU9mM/unsubscribe 
> <https://groups.google.com/d/topic/doctrine-user/lE9GQWaU9mM/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected] 
> <mailto:[email protected]>.
> To post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/doctrine-user 
> <https://groups.google.com/group/doctrine-user>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to