当前位置: 首页 > 面试题库 >

如何针对Google Cloud SQL运行Django管理命令

吴星汉
2023-03-14
问题内容

目前,我已将django项目部署在Google App Engine上。我需要运行python manage.py migrate命令,以便auth_user应在我的Google云实例上创建表。但是不知道在哪里运行此命令。


问题答案:

如果我做对了,您的应用程序将在App Engine(沙盒环境)上运行,并使用Cloud SQL。

1)配置数据库,settings.py如下所示。

if os.getenv('SERVER_SOFTWARE', '').startswith('Google App Engine'):
    # Running on production App Engine, so use a Google Cloud SQL database.
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'HOST': '/cloudsql/project-id:instance-name',
            'NAME': 'database-name',
            'USER': 'root',
        }
    }
elif os.getenv('SETTINGS_MODE') == 'prod':
    # Running in development, but want to access the Google Cloud SQL instance in production.
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'INSTANCE': 'cloud-sql-instance-ip-address',
            'NAME': 'database-name',
            'USER': 'root',
            'PASSWORD': 'password',
        }
    }
else:
    # Running in development, so use a local MySQL database.
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'database-name',
            'USER': 'username',
            'PASSWORD': 'password',
        }
    }

2)将环境变量SETTINGS_MODE设置为prod(如果要访问本地MySQL服务器,则不要设置)。

3)在您的机器上运行以下命令。

$ SETTINGS_MODE=prod python manage.py migrate

您可以在App
Engine文档中找到更多详细信息-管理命令以及替代开发数据库和设置。



 类似资料:
  • 使用文档中的以下示例: 如何创建并运行针对此迁移的测试,以确认数据已正确迁移?

  • 我无法在NodeJS应用程序中使用< code>exec运行Conda命令。 我收到以下错误: /bin/sh: /用户/用户名/桌面/存储库/项目/XYZ: 是一个目录 命令未发现错误:您的 shell 未正确配置为使用“conda 激活”。要初始化您的 shell,请运行 目前支持的shell有:-bash-fish-tcsh-xonsh-zsh-powershell 请参阅“conda in

  • 我想使用java中的参数执行一些管理命令。 这些命令是: 我怎么能从java驱动程序做到这一点? 以下代码不起作用:

  • 问题内容: 我正在写以下命令 我怎样才能将此命令限制为仅管理员?我试着看,它说。我如何检查给定的用户是否是? 问题答案: 有两种方法:通过使用的角色白名单 或经许可使用 这两个装饰器都是Checks,如果它们失败,将引发您的一些子类供您选择处理。

  • 问题内容: 我有一个自定义管理命令,可通过电子邮件发送报告。它通常从cron作业运行。我想做的是在Web应用程序中添加一个按钮,单击该按钮将使admin命令在此运行,而不是等待cron作业调用它。我该怎么做呢?我是否必须调出诸如 还是可以从视图中调用代码?如果我可以从视图内执行此操作而不需要扩展到命令行,这似乎会更干净。 问题答案: 你可以使用:

  • 我们将使用 Django admin 添加,编辑和删除我们刚刚创建的帖子。 让我们打开blog/admin.py文件,并替换其中的文件像这样: from django.contrib import admin from .models import Post admin.site.register(Post) 如你所见,我们导入(包括)了前一章定义的Post模型。 为了让我们的模型在admin页面