【问题标题】:Google app engine - migrating website user table from datastore to mysql (CloudSQL)谷歌应用引擎 - 将网站用户表从数据存储迁移到 mysql (CloudSQL)
【发布时间】:2023-04-08 00:47:01
【问题描述】:

我们公司正在将我们 Google App Engine 网站的数据从 Google Cloud Datastore 迁移到 mysql(准确地说是 CloudSQL)

我已经编写了所有转换例程以将所有当前数据实体表从数据存储区复制到 mysql,我正处于需要重写我们的仓库中的代码以与 mysql 而不是数据存储区交互的地步。

几乎所有当前的数据存储实体都是 ndb.Model 的子类,除了一个键表,我们的 User 实体是从 webapp2_extras.appengine.auth.models.User 子类的。

从这个子类化在幕后做了很多好事,例如设置 Unique 和 UserToken 条目以及设置和处理会话,在用户登录时设置它们并在用户注销时销毁它们.

现在用户表将存在于 mysql 中,数据存储提供的所有这些细节都需要单独实现,我不知道从哪里开始。

实现这一目标的最佳方法是什么?

该网站使用带有 webapp2 框架的 Python 2.7 运行时的 Google App Engine 标准环境。我正在使用 SqlAlchemy 与后端的 mysql 实例进行交互。

我们将不胜感激任何帮助或建议,如果您需要任何进一步的细节,请告诉我。

【问题讨论】:

  • 您能否明确说明您在做什么以及您想要实现什么?如果我理解正确,您是在使用数据库本地提供的密钥对用户进行身份验证?

标签: mysql google-app-engine session authentication webapp2


【解决方案1】:

搜索 webapp2 文档,我找到了这些信息。

http://webapp2.readthedocs.io/en/latest/tutorials/auth.html#login-with-sessions

我在 google SDK 中进行了一些操作,以查看在 webapp2_extras.appengine.auth.models.User 中设置的相同接口方法。

我创建了一个 AuthModel 接口,其中包含 webapp2 创建会话所需的基本属性,并且我实现了页面上描述的方法。这些方法调用 SqlAlchemy 查询,该查询又会与我设置的 SqlAlchemy User 类交互,并允许我返回 webapp2 和 GAE 所需的参数来完成其余的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-21
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多