Django-apscheduler的安装后没有表格生成,重新迁移

1,CMD,查看已经执行的migrations
python manage.py showmigrations

2,重置 app=django_apscheduler
python manage.py migrate --fake django_apscheduler zero
再执行 python manage.py showmigrations,你会发现 文件前的 [x] 变成了[ ]

3,重新migrate
python manage.py migrate --fake-initial

output:
Operations to perform:
Apply all migrations: admin, auth, ciss_exhi, contenttypes, django_apscheduler, sessions
Running migrations:
Applying django_apscheduler.0001_initial… OK
Applying django_apscheduler.0002_auto_20180412_0758… OK
Applying django_apscheduler.0003_auto_20200716_1632… OK
Applying django_apscheduler.0004_auto_20200717_1043… OK
Applying django_apscheduler.0005_migrate_name_to_id… OK
Applying django_apscheduler.0006_remove_djangojob_name… OK
Applying django_apscheduler.0007_auto_20200717_1404… OK
Applying django_apscheduler.0008_remove_djangojobexecution_started… OK
Applying django_apscheduler.0009_djangojobexecution_unique_job_executions… OK

=================================================================

Django-apscheduler的安装后没有表格生成,重新迁移

1,新建app=scheduler
python manage.py startapp scheduler
2,将…\site-packages\django_apscheduler\models.py里的表格设置内容,全部复制到
app=scheduler 目录内的models.py,并且都改名,例如
DjangoJob 改名为 DjangoJob2
DjangoJobExecutionManager 改名为 DjangoJobExecutionManager2
否则,会报错:(models.E032) constraint name ‘unique_job_executions’ is not unique among models: django_apscheduler.DjangoJobExecution, scheduler.DjangoJobExecution.
DjangoJobExecution 改名为DjangoJobExecution2
否则会报错:(models.E032) constraint name ‘unique_job_executions’ is not unique among models: django_apscheduler.DjangoJobExecution, scheduler.DjangoJobExecution.

3,python manage.py makemigrations 迁移
Migrations for ‘scheduler’:
scheduler\migrations\0001_initial.py
- Create model DjangoJob2
- Create model DjangoJobExecution2
- Create constraint unique_job_executions2 on model djangojobexecution2

4,python manage.py migrate
如果跳过3,会遇到Your models in app(s): ‘scheduler’ have changes that are not yet reflected in a migration, and so won’t be applied.
Run ‘manage.py makemigrations’ to make new migrations, and then re-run ‘manage.py migrate’ to apply them.

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部