django 数据库sqlmigrate

Python 2016-09-23

起步

django版本是1.8. 项目也运行上线一段时间了。由于需求的增加不能不增加些表格了。在model.py写上要添加的表格.

class MoyuRegion(models.Model):
    game_region_name = models.CharField(max_length=255, null=True, blank=True, unique=True)
    idc = models.ForeignKey(IDC, null=True, blank=True, on_delete=models.SET_NULL)
    child_game = models.ForeignKey(ChildGame, null=True, blank=True, on_delete=models.SET_NULL)
    def __unicode__(self):
        return self.game_region_name

问题

按理说通过下面命令就可以同步数据库了。

python manage.py makemigrations
python manage.py migrate

但是

20160923162633.png

续上图

20160923162826.png

makemigrations

原因应该是和其他的什么冲突了。makemigrations,用来检测数据库变更和生成数据库迁移文件。 运行python manage.py makemigrations appname后可以在appname/migrations会新增一个存有变更信息的文件。

20160923170331.png

解决

python manage.py sqlmigrate appname 0003_moyuregion

就可以看到语句。

20160923170623.png

但是,sqlmigrate是不会创建的!!!!,只是看语句。有了这个语句,我们就去数据库手动创建。此问题解决了。


本文由 hongweipeng 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

赏个馒头吧