Also I forget to write: "Yeah, sorry I forget to include the schema"

On Tuesday, 12 July 2016 10:27:03 UTC+2, [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://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