mysql – Doctrine架构更新总是尝试添加NOT NULL

栏目: 数据库 · Mysql · 发布时间: 5年前

内容简介:翻译自:https://stackoverflow.com/questions/42536911/doctrine-schema-update-always-try-to-add-not-null
我有一个新的Symfony 2.8安装,带有doctrine和 MySQL

5.6堆栈.

在执行一个学说:schema:update –force之后,我可以看到

数据库架构更新成功!执行了“x”查询

这是我的问题:即使我多次执行它,doctrine总是会发现架构差异.

使用–dump-sql,我可以看到所有这些查询都与:

>在字符串主键上添加NOT NULL

>在datetime上添加NOT NULL

领域

但是,当我检查我的数据库时,这些列已经有一个NOT NULL.

以下是单个属性/列的示例:

class MyEntity
{
    /**
     * @ORM\Id
     * @ORM\Column(type="string", length=5, name="cd_key")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
     private $code;
     ...

这是SHOW CREATE TABLE my_entity的结果; :

CREATE TABLE `my_entity` (
  `cd_key` varchar(5) COLLATE utf8_unicode_ci NOT NULL,
  `label` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `number` int(11) NOT NULL,
  PRIMARY KEY (`cd_key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;

在这里,查询原则尝试使用doctrine:schema:update命令执行:

ALTER TABLE my_entity CHANGE cd_key cd_key VARCHAR(5) NOT NULL;

>我在每个命令执行之间清理我的Symfony缓存.

>我尝试在@Column注释上添加nullable = false(事件,如果它已被定义为@Id),但没有效果.

>一个学说:schema:validate没有找到任何映射问题(当然不同步)

>我尝试删除并重新创建完整的数据库,但没有效果.

有任何想法吗 ?

这个问题已于2017年报道至少 here , herehere ,并且应该由 PR

修复.

更新doctrine / dbal将是解决方案( not working for me though ):

$composer require doctrine/dbal:^2.7.1

从配置中取消设置服务器版本(mysql / mariadb)也可以解决问题(但仍然不适合我).

如果一个人正在使用迁移,他仍然可以手动调整它们(但他的模式将永远不会被删除).

翻译自:https://stackoverflow.com/questions/42536911/doctrine-schema-update-always-try-to-add-not-null


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Practical Algorithms for Programmers

Practical Algorithms for Programmers

Andrew Binstock、John Rex / Addison-Wesley Professional / 1995-06-29 / USD 39.99

Most algorithm books today are either academic textbooks or rehashes of the same tired set of algorithms. Practical Algorithms for Programmers is the first book to give complete code implementations o......一起来看看 《Practical Algorithms for Programmers》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具