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