From d00621ad49526b41f097f8ee8f7cc1588039e45e Mon Sep 17 00:00:00 2001 From: ngfchl Date: Sat, 15 Oct 2022 11:24:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=90=AF=E5=8A=A8=E8=84=9A?= =?UTF-8?q?=E6=9C=AC=EF=BC=8C=E9=98=B2=E6=AD=A2=E9=87=8D=E5=BB=BAdocker?= =?UTF-8?q?=E6=97=B6=E8=A6=86=E7=9B=96=E5=B7=B2=E5=AD=98=E5=9C=A8=E7=9A=84?= =?UTF-8?q?=E8=87=AA=E5=8A=A8=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pt_site/apps.py | 2 +- start.sh | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) 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