diff --git a/pt_site/apps.py b/pt_site/apps.py index ebfca70..841db62 100644 --- a/pt_site/apps.py +++ b/pt_site/apps.py @@ -36,7 +36,7 @@ class PtSiteConfig(AppConfig): def ready(self): # 环境变量不存在,说明数据库还未初始化,先跳过初始化站点数据 - if os.getenv('CONTAINER_ALREADY_STARTED'): + if os.path.exists('CONTAINER_ALREADY_STARTED_PLACEHOLDER'): post_migrate.connect(app_ready_handler, sender=self) else: logger.info('第一次启动容器,初始化数据库中') diff --git a/start.sh b/start.sh index 8c3e1aa..d7f2cb1 100644 --- a/start.sh +++ b/start.sh @@ -19,10 +19,16 @@ if [ ! -e $CONTAINER_ALREADY_STARTED ]; then ls -l echo "安装pip依赖" pip install -r requirements.txt - echo "初始化数据库" + echo "系统初始化中" python manage.py makemigrations - python manage.py migrate - python manage.py loaddata pt.json + if [ ! -f db/db.sqlite3 ]; then + echo '数据库不存在,初始化数据库' + python manage.py migrate + python manage.py loaddata pt.json + else + echo '数据库已存在,同步数据库结构' + python manage.py migrate + fi touch $CONTAINER_ALREADY_STARTED echo "创建超级用户" DJANGO_SUPERUSER_USERNAME=$DJANGO_SUPERUSER_USERNAME