Edo*_*chs 5 php mysql mariadb symfony doctrine-orm
当我首先运行此命令时,一切似乎都正常:
$ php bin/console doctrine:schema:update --dump-sql
ALTER TABLE posts CHANGE createdAt createdAt DATETIME NOT NULL, CHANGE updatedAt updatedAt DATETIME DEFAULT NULL;
$ php bin/console doctrine:schema:update --force
Updating database schema...
Database schema updated successfully! "1" query was executed
Run Code Online (Sandbox Code Playgroud)
但是当我重新运行时dump-sql,就像更新没有发生一样:
$ php bin/console doctrine:schema:update --dump-sql
ALTER TABLE posts CHANGE createdAt createdAt DATETIME NOT NULL, CHANGE updatedAt updatedAt DATETIME DEFAULT NULL;
Run Code Online (Sandbox Code Playgroud)
我可以无休止地重复这一点.
这是我的Post实体,带有createdAt和updatedAt属性注释:
<?php
namespace WebBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Post
*
* @ORM\Table(name="posts")
* @ORM\Entity(repositoryClass="WebBundle\Repository\PostRepository")
*/
class Post
{
...
/**
* @var \DateTime
*
* @ORM\Column(name="createdAt", type="datetimetz")
*/
private $createdAt;
/**
* @var \DateTime
*
* @ORM\Column(name="updatedAt", type="datetimetz", nullable=true)
*/
private $updatedAt;
Run Code Online (Sandbox Code Playgroud)
当我检查我的MariaDB表时,模式正是我声明的:
# Name Type Collation Attributes Null Default Extra
1 id char(36) No None
...
7 createdAt datetime No None
8 updatedAt datetime Yes NULL
Run Code Online (Sandbox Code Playgroud)
什么是错的?
我也有完全一样的问题 !
我将字段类型“datetime z ”重命名为“datetime”,现在可以了
/**
* @var \DateTime
*
* @ORM\Column(name="created", type="datetime")
*/
private $created;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
794 次 |
| 最近记录: |