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://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"; 
> xmlns:xsi="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.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";
>                   xmlns:xsi="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.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.
> For more options, visit 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