Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何在Symfony 4中更新数据库?_Database_Symfony_Symfony4 - Fatal编程技术网

Database 如何在Symfony 4中更新数据库?

Database 如何在Symfony 4中更新数据库?,database,symfony,symfony4,Database,Symfony,Symfony4,当我发出以下命令时: php bin/console原则:模式:更新--force 数据库会更新,但之后会执行以下命令: php bin/console原则:schema:validate 一直说数据库不同步(参见下面的屏幕截图) 我错过了什么/做错了什么 根据数据库类型和操作系统的不同,测试可能会给出一些“假阴性”,这意味着您的数据库已经正常了,但条令并不完全理解。这发生在我的几个项目中,不管Symfony版本(也就是symfony2、3和4) 此外,在Symfony 4中,您可以使用迁移,如

当我发出以下命令时:

php bin/console原则:模式:更新--force

数据库会更新,但之后会执行以下命令:

php bin/console原则:schema:validate

一直说数据库不同步(参见下面的屏幕截图)

我错过了什么/做错了什么


根据数据库类型和操作系统的不同,测试可能会给出一些“假阴性”,这意味着您的数据库已经正常了,但条令并不完全理解。这发生在我的几个项目中,不管Symfony版本(也就是symfony2、3和4)

此外,在Symfony 4中,您可以使用迁移,如中所述,即:

bin/console make:migration
此命令将在
src/Migrations
内创建迁移文件,但不会触及数据库

为了理解发生了什么(从Doctrine的角度来看),您可以看看迁移文件:它是一个PHP类,有两个方法(
up()
down()

up()
方法将包含将数据库与映射文件对齐所需的查询

要应用所有挂起的迁移,请运行:

bin/console doctrine:migrations:migrate

使用
php-bin/控制台原则:schema:update--dump-sql
。您可能有一些可为空的布尔列,当您使用MariaDb时,条令有一个“bug”。如果您使用MariaDb,请确保在
config/packages/doctor.yaml
中有正确的服务器版本,它应该类似于
server\u版本:'mariadb-10.2.12'
,这是正确的,但您应该提供更多的上下文,以便让OP了解此版本的优点