-
Notifications
You must be signed in to change notification settings - Fork 78
Open
Description
Bug Report
| Q | A |
|---|---|
| BC Break | no |
| laravel-doctrine/migrations version | 1.1.10 |
| Laravel Framework version | 5.6.25 |
| php version | 7.2.7-1 |
| MySQL version | 5.7.22 |
Summary
When running artisan doctrine:migrations:diff it's always creates migration that contains changes to sessions table.
Current behavior
Running artisan doctrine:migrations:diff creates migration that contains SQL code below
The up addSql will look like
ALTER TABLE sessions CHANGE id id VARCHAR(255) NOT NULLThe down addSql will look like
ALTER TABLE sessions CHANGE id id VARCHAR(255) NOT NULL COLLATE utf8mb4_unicode_ciHow to reproduce
- create new laravel app
- add
SESSION_DRIVER=databaseto.env - run
artisan session:table - run
artisan migrations:migrate - make basic configurations to laravel-doctrine (use
xmlmappings) - run
artisan doctrine:mapping:import --namespace=Your\\Namespace\\ xml Your/Mappings/Folder - run
artisan doctrine:migrations:diff. It will create migration with session table changes.
My current xml for sessions table is
<?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="Foo\Bar\Session"
table="sessions"
repository-class="Foo\Bar\SessionRepository"
>
<unique-constraints>
<unique-constraint name="sessions_id_unique" columns="id"/>
</unique-constraints>
<id name="id" type="string" column="id" length="255">
<generator strategy="IDENTITY"/>
</id>
<field name="ipAddress" type="string" column="ip_address" length="45" nullable="true">
<options>
<option name="fixed"/>
</options>
</field>
<field name="userAgent" type="text" column="user_agent" length="65535" nullable="true">
<options>
<option name="fixed"/>
</options>
</field>
<field name="payload" type="text" column="payload" length="65535" nullable="false">
<options>
<option name="fixed"/>
</options>
</field>
<field name="lastActivity" type="integer" column="last_activity" nullable="false">
<options>
<option name="unsigned"/>
</options>
</field>
<many-to-one field="user" target-entity="App\Doctrine\Entity\User" inversed-by="sessions" fetch="LAZY">
<join-columns>
<join-column name="user_id" referenced-column-name="id"/>
</join-columns>
</many-to-one>
</entity>
</doctrine-mapping>
My doctrine.php (showing only changes because it's almost similar) is
'managers' => [
'default' => [
'dev' => env('APP_DEBUG', false),
'meta' => env('DOCTRINE_METADATA', 'xml'),
'connection' => env('DB_CONNECTION', 'mysql'),
'namespaces' => [],
'paths' => [
base_path('Your/Mappings/Folder')
],
]
],Expected behavior
Running artisan doctrine:migrations:diff gives error with message No changes detected in your mapping information. Like on screenshot

Metadata
Metadata
Assignees
Labels
No labels