【问题标题】:How to create the namespaces for web2py application database如何为 web2py 应用程序数据库创建命名空间
【发布时间】:2016-09-05 10:00:26
【问题描述】:

我是 web2py 和谷歌应用引擎的新手,我尝试开发简单的 CRUD 操作 web2py 应用程序有一个像 db.regiser 这样的数据库表,并将这个应用程序部署在两个不同区域的谷歌应用引擎中,现在我需要创建命名空间让这个应用程序数据库访问两个不同的区域,用户在自己的命名空间上执行 CRUD 操作而不影响主数据库,以及如何为 web2py 应用程序创建数据库的命名空间。

【问题讨论】:

    标签: google-app-engine web2py


    【解决方案1】:

    我不认为它在文档中(尽管它在scaffolding app code 中注明),但您可以在连接字符串中指定命名空间:

    db = DAL('google:datastore+ndb://mynamespace')
    

    另外,作为一种可能的替代方案,请注意 web2py DAL 包含其自己的multi-tenancy functionality。使用这种方法,如果您将来选择不同的托管/数据存储选项,您的代码将是可移植的。

    【讨论】:

    • @Anthony-这里我有 n 个区域,例如区域 1 和区域 2 ... 区域 n,是否可以在用户登录系统时将区域命名空间名称传递给连接字符串或它会根据用户登录的区域自动调整命名空间?
    • 嗯,用户记录存储在数据库中,所以要让用户登录,您必须已经连接到数据库并因此知道命名空间。因此,您要么需要将 Auth 记录存储在单独的共享数据存储中,要么需要其他方式来识别区域/命名空间(例如,通过 URL)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 1970-01-01
    • 2015-03-06
    • 2020-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多