From ff102729be9fe286037bcf6e0f7e0d4805935116 Mon Sep 17 00:00:00 2001 From: chenqiang Date: Wed, 12 Nov 2025 14:03:29 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=86=99=E5=90=84=E4=B8=AA?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clear | 14 +++++++++++--- fulldump | 14 +++++++++++--- restore | 14 +++++++++++--- service | 8 ++++++++ 4 files changed, 41 insertions(+), 9 deletions(-) diff --git a/clear b/clear index 6f1abf4..fccae69 100755 --- a/clear +++ b/clear @@ -12,10 +12,18 @@ load_env_variables() { # 使用direnv加载环境变量 if command -v direnv &> /dev/null; then eval "$(direnv export bash)" - # 检查POSTGRES_PASSWORD是否已设置 + # 检查POSTGRES_PASSWORD是否已设置,如果没有设置,尝试执行direnv allow if [ -z "$POSTGRES_PASSWORD" ]; then - echo "错误: 密码验证失败,无法继续操作" - return 1 + echo "检测到POSTGRES_PASSWORD未设置,尝试执行direnv allow..." + direnv allow + # 再次加载环境变量 + eval "$(direnv export bash)" + + # 再次检查POSTGRES_PASSWORD + if [ -z "$POSTGRES_PASSWORD" ]; then + echo "错误: 密码验证失败,无法继续操作" + return 1 + fi fi else echo "错误: 未安装direnv,请先安装direnv" diff --git a/fulldump b/fulldump index 215f5a3..99b7c0c 100755 --- a/fulldump +++ b/fulldump @@ -12,10 +12,18 @@ load_env_variables() { # 使用direnv加载环境变量 if command -v direnv &> /dev/null; then eval "$(direnv export bash)" - # 检查POSTGRES_PASSWORD是否已设置 + # 检查POSTGRES_PASSWORD是否已设置,如果没有设置,尝试执行direnv allow if [ -z "$POSTGRES_PASSWORD" ]; then - echo "错误: 密码验证失败,无法继续操作" - return 1 + echo "检测到POSTGRES_PASSWORD未设置,尝试执行direnv allow..." + direnv allow + # 再次加载环境变量 + eval "$(direnv export bash)" + + # 再次检查POSTGRES_PASSWORD + if [ -z "$POSTGRES_PASSWORD" ]; then + echo "错误: 密码验证失败,无法继续操作" + return 1 + fi fi else echo "错误: 未安装direnv,请先安装direnv" diff --git a/restore b/restore index e6fa062..c9f5a7c 100755 --- a/restore +++ b/restore @@ -12,10 +12,18 @@ load_env_variables() { # 使用direnv加载环境变量 if command -v direnv &> /dev/null; then eval "$(direnv export bash)" - # 检查POSTGRES_PASSWORD是否已设置 + # 检查POSTGRES_PASSWORD是否已设置,如果没有设置,尝试执行direnv allow if [ -z "$POSTGRES_PASSWORD" ]; then - echo "错误: 密码验证失败,无法继续操作" - return 1 + echo "检测到POSTGRES_PASSWORD未设置,尝试执行direnv allow..." + direnv allow + # 再次加载环境变量 + eval "$(direnv export bash)" + + # 再次检查POSTGRES_PASSWORD + if [ -z "$POSTGRES_PASSWORD" ]; then + echo "错误: 密码验证失败,无法继续操作" + return 1 + fi fi else echo "错误: 未安装direnv,请先安装direnv" diff --git a/service b/service index e0dd6c5..eaf1a4e 100755 --- a/service +++ b/service @@ -18,6 +18,14 @@ load_env_variables() { echo "使用direnv加载环境变量..." # 尝试使用direnv加载环境变量 eval "$(direnv export bash)" + + # 检查POSTGRES_PASSWORD是否设置,如果没有设置,尝试执行direnv allow + if [ -z "$POSTGRES_PASSWORD" ] && [ -f ".envrc" ]; then + echo "检测到POSTGRES_PASSWORD未设置,尝试执行direnv allow..." + direnv allow + # 再次加载环境变量 + eval "$(direnv export bash)" + fi else echo "警告: direnv未安装,使用当前环境变量" fi