【问题标题】:How to clear a database on OpenShift如何清除 OpenShift 上的数据库
【发布时间】:2016-07-06 13:37:38
【问题描述】:

我在 OpenShift 上使用 Django 和 Sqlite3,我需要重置我的数据库(清除所有表)。我该怎么做?

【问题讨论】:

  • 您是否将数据库连同代码一起推送到 openshift 存储库?
  • 我没有推送数据库。但我也没有使用墨盒。我认为它使用了 django 附带的默认 sqlite3 后端
  • 不,我一直在向我的代码推送大量更新。但这不会影响数据库。并且数据库条目只能在服务器在线(在 openshift 上运行)时从 post 请求中生成。而且我已经对我的模式进行了更改(通过模型类),但这似乎并没有清除数据库。如何删除数据库?我只推动了回购没有拉顺便说一句。试图提供尽可能多的信息
  • 我是否必须对迁移做任何事情才能让它再次工作?另外请添加它作为答案,以便我接受。我还没有尝试过,但我相信它会起作用。

标签: django sqlite openshift


【解决方案1】:

您可以运行flush命令清除所有表中的数据。

python manage.py flush

请注意,此命令将不可逆地销毁当前数据库中的所有数据。

要在 OpenShift 中运行 manage.py 命令,

  • 确保您对存储库具有 ssh 访问权限。

步骤 1

方法一:使用 RedHat 客户端

最简单的方法是安装rhc,

你可以安装rhc by following the official guide

安装配置后,运行

rhc ssh <app name>

如果一切正常,这会将您登录到您的应用程序仓库。

(或)方法 2:不使用 RedHat 客户端

console settings上添加您的公钥

从控制台的Remote Access 部分复制 ssh 命令。

命令看起来像,

ssh <some random string >@your-domain.rhcloud.com

将命令粘贴到终端窗口并按回车

第二步

现在导航到您的源目录,运行

cd app-root/repo/

第三步

现在您在 repo 中,您可以在其中运行您的 manage.py 任务

python manage.py makemigrations

python3 manage.py migrate

这是您在 repo 中运行 manage.py 命令的方式。

确保您不共享您的密钥。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-04
    • 1970-01-01
    • 2014-06-12
    相关资源
    最近更新 更多