0

当我尝试加载任何页面时出现这种错误。

运行sqlallthrow the ssh 显示数据库 shema 正常。

我有这样一个设置文件:

if ON_OPENSHIFT:
    # os.environ['OPENSHIFT_MYSQL_DB_*'] variables can be used with databases created
    # with rhc cartridge add (see /README in this git repo)
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',  # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
            'NAME': os.path.join(os.environ['OPENSHIFT_DATA_DIR'], 'sqlite3.db'),  # Or path to database file if using sqlite3.
            'USER': '',                      # Not used with sqlite3.
            'PASSWORD': '',                  # Not used with sqlite3.
            'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
            'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
        }
    }
else:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',  # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
            'NAME': os.path.join(PROJECT_DIR, 'sqlite3.db'),  # Or path to database file if using sqlite3.
            'USER': '',                      # Not used with sqlite3.
            'PASSWORD': '',                  # Not used with sqlite3.
            'HOST': '',                      # Set to empty string for localhost. Not used with sqlite3.
            'PORT': '',                      # Set to empty string for default. Not used with sqlite3.
        }
    }

我在 /data 目录中有我的数据库的副本。

另外,我有这样的启动钩子:

source $OPENSHIFT_HOMEDIR/$cartridge_type/virtenv/bin/activate

if [ ! -f $OPENSHIFT_DATA_DIR/sqlite3.db ]
then
    echo "Copying $OPENSHIFT_REPO_DIR/wsgi/openshift/sqlite3.db to $OPENSHIFT_DATA_DIR"
    cp "$OPENSHIFT_REPO_DIR"wsgi/openshift/sqlite3.db $OPENSHIFT_DATA_DIR
    python "$OPENSHIFT_REPO_DIR".openshift/action_hooks/secure_db.py | tee ${OPENSHIFT_DATA_DIR}/CREDENTIALS
else
    echo "Executing 'python $OPENSHIFT_REPO_DIR/wsgi/openshift/manage.py syncdb --noinput'"
    python "$OPENSHIFT_REPO_DIR"wsgi/openshift/manage.py syncdb --noinput
fi

echo "Executing 'python $OPENSHIFT_REPO_DIR/wsgi/openshift/manage.py collectstatic --noinput'"
python "$OPENSHIFT_REPO_DIR"wsgi/openshift/manage.py collectstatic --noinput

所以一切似乎都很好。

(但是,在我看来,启动挂钩尚未启动。)

编辑:我不知道为什么,但是在手动将数据库复制到 /data 之后 - 它工作正常

4

1 回答 1

0

您是使用快速入门还是构建这些?要检查的一些事情是确保添加的挂钩是可执行的(chmod +x)。这些 echo 语句应该显示在您的 git push 日志/输出中,因为那是执行这些构建/部署挂钩的时间。
很高兴现在对你有用。

于 2013-04-18T19:26:56.437 回答