我们公司正在将Google App Engine网站的数据从Google Cloud Datastore迁移到mysql(准确地称为CloudSQL)
我编写了所有转换例程,将所有当前数据实体表从数据存储区复制到mysql,而我的存储库中的代码需要重写以与mysql而不是数据存储区进行交互。
除了一个密钥表之外,几乎所有当前数据存储区实体都将ndb.Model子类化,我们的用户实体是webapp2_extras.appengine.auth.models.User的子类。
从中进行子类化会在幕后做很多好事,例如设置Unique和UserToken条目以及设置和处理会话,在用户登录时设置它们并在用户注销时销毁它们
既然用户表将存在于mysql中,那么数据存储所提供的所有这些细节都需要单独实现,我不知道从哪里开始。
实现这一目标的最佳方式是什么?
该网站使用带有webapp2框架的Python 2.7运行时使用Google App Engine标准环境。我正在使用SqlAlchemy与后端的mysql实例进行交互。
如果您需要任何进一步的细节,我们将非常感谢您的帮助或建议。
答案 0 :(得分:0)
搜索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所需的参数来完成剩下的工作。