此处生成的迁移文件包含了所有的表结构(已创建和未创建的表)
python manage.py makemigrations app_name python manage.py migrate --fake-initial
--fake-initial
的作用是如果这个表结构已经创建了,他不会再次创建。同时,对于新创建的表或者更新的字段。他也不会去创建或者更新。引用 django 官方文档中的话:
当使用 migrate --fake-initial 选项时,将对这些初始迁移进行特殊处理。对于创建一个或多个表(CreateModel 操作)的初始迁移,Django 会检查所有这些表是否已经存在于数据库中,如果是,则对迁移进行假应用。 类似地,对于添加了一个或多个字段(AddField 操作)的初始迁移,Django 检查数据库中是否已存在所有相应的列,如果存在,则对迁移进行假应用。如果没有 --fake-initial,初始迁移的处理方式和其他迁移没有区别。
此时,如果你需要再同步新创建或者新增字段的操作,就需要再次生成迁移文件。但是由于你两次迁移前后没有变化,所以不会生成迁移文件。此时,需要修改上次生成的迁移文件,将migrations
对应文件中新增表或者字段的对应代码行删除,再次去生成迁移文件,应用迁移(这次不需要加 --fake-initial
)。
python manage.py makemigrations app_name python manage.py migrate
获取当前时间戳
import time create_time = time.time()
时间戳转换为时间
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time()))
撤销 git add
操作
git reset filename
撤销 暂存区修改,避免 git pull
操作冲突
git checkout filename