makemigration和migrate执行成功,但是没有在数据库生成表

当在Django项目中误删app01表格后,即使makemigration和migrate执行成功,数据库中未生成新表。解决方法是清理django_migrations中与app01相关的迁移记录,然后重新操作以生成表格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写自定义目录标题

在做Django的项目时,由于我自己删除了app01表格,后面再执行
makemigration和migrate 时,虽然执行成功,但是并没有在数据库中生成表格。解决方案:
首先,在数据库中查看所有的表,其中有一个django_migrations会做Django项目中的迁移记录。
在这里插入图片描述
在这里插入图片描述

我们把django_migrations里面的关于app01的记录清除。最后重新再执行makemigration和migrate,成功解决

Django中,我们可以使用ORM(对象关系映射)框架来创建数据库。ORM框架将Python类映射到数据库中,并提供了对数据库的操作。 要使用ORM框架创建数据库,我们需要执行以下步骤: 1. 在Django项目中的models.py文件中定义我们的数据模型类,如下所示: ```python from django.db import models class Book(models.Model): title = models.CharField(max_length=200) author = models.CharField(max_length=100) publication_date = models.DateField() ``` 在上面的代码中,我们定义了一个Book类,它继承了models.Model类,并定义了三个属性:title、authorpublication_date。这些属性将映射到数据库的列。 2. 接下来,我们需要在Django项目的settings.py文件中配置数据库连接信息。我们需要指定数据库类型、主机名、端口号、数据库名称、用户名密码。例如: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydatabase', 'USER': 'mydatabaseuser', 'PASSWORD': 'mypassword', 'HOST': 'localhost', 'PORT': '3306', } } ``` 在上面的代码中,我们指定了MySQL数据库的连接信息。如果您使用的是其他数据库,您需要相应地更改这些信息。 3. 接下来,我们需要创建迁移文件。迁移文件是用于将数据模型类映射到数据库的文件。我们可以使用以下命令创建迁移文件: ```python python manage.py makemigrations ``` 4. 最后,我们需要执行迁移,将模型类映射到数据库中。我们可以使用以下命令执行迁移: ```python python manage.py migrate ``` 执行完上述命令后,Django将自动在MySQL数据库中创建名为“myapp_book”的,该包含三个列:title、authorpublication_date。 总之,使用Django ORM框架可以方便地在MySQL数据库中创建数据。只需要定义模型类,配置数据库连接信息,创建迁移文件,执行迁移即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值