使用命令行创建Entity类对应的数据库表-Symfony5全面开发

您需要登录后才可观看此视频

为了更好的为您提供服务,请您登录后再查看本课程。

立即登录 注册账号

我们打开Post类,我们使用Post类来封装文章的数据。有些文章需要一张图片作为封面,我们需要在Post类中添加一个属性,用来存储图片的数据。

打开底部控制台,输入命令行symfony console make:entity,来修改Post类,新的属性名称,我们叫做postImage。在数据库中我们使用图像文件的路径来保存封面图像信息。这里字段类型,我们使用string,字段长度255。有的文章可以不需要封面图像,我们这里允许为空。我们不需要添加其他的属性,直接回车。

在命令行的最后它会提示我们创建一个数据迁移,当我们使用make:migration命令时,Symfony会查看我们所有的entity类,然后读取注解,再和数据库中对应的表进行比对,如果有差异的话,会生成修改数据库的SQL语句。

我们执行这个命令,你可以直接使用php bin/console这个命令,我们使用symfony console这个命令,命令行提示我们在migrations目录中生成了一个PHP文件。

我们打开PHP文件,PHP文件中添加了三个SQL语句,首先是创建了一个评论数据表,然后又添加了一个文章数据表,然后修改comment的表,添加外键约束。再打开底部控制台,生成文件后,它会提示我们运行这个迁移文件。

使用下面这个命令php bin/console doctrine:migrations:migrate,我们使用这个命令来执行数据库的迁移。迁移完成后,我们打开数据库客户端,查看数据库表。

在teebblog库中增加了三个表,第一个就是我们的评论数据表,第三个post 就是我们的文章表。第二个表是数据库的迁移版本。Entity类是经常需要修改的,每次修改,都会提示我们使用make:migration这个命令,来创建数据库迁移文件,每次我们执行完数据库迁移之后,都会将当前的迁移文件版本存入数据库中,这样来完成数据库的版本迭代。

在下一节,我们将在测试环境下使用数据库。

课程讨论

当前内容评论功能已关闭。