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.