gpt4 book ai didi

mysql - ory/ladon 管理器与 golang - 未创建表

转载 作者:数据小太阳 更新时间:2023-10-29 03:23:38 27 4
gpt4 key购买 nike

github.com/ory/ladon 是一个用于管理基于角色的访问的库,用 golang 编写。它包含一个管理器,该管理器应该在数据库中保留策略并使用数据库。经理在内存中的情况下工作得很好。当我使用管理器与 sql 交互时,没有创建所需的表。

db, err := sqlx.Open("mysql", "tx81:@tcp(127.0.0.1:3306)/policies")
......
err=db.Ping()
if err == nil {
fmt.Printf("Database is up")
}

warden := ladon.Ladon{
Manager: manager.NewSQLManager(db, nil),
}

var pol = &ladon.DefaultPolicy{
......
}
err = warden.Manager.Create(pol)
fmt.Printf("%s", err)

错误打印为:

Table 'policies.ladon_policy' doesn't exist.

为什么没有创建表?

资源:https://github.com/ory/ladon#persistence

最佳答案

您需要调用manager.CreateSchemas ,这永远不会由经理自己完成。

您为其提供模式名称(我相信只有 postgresql)和表名称以跟踪迁移信息。

例如:

if num, err := m.CreateSchemas("", "my_migration_table"); err != nil {
panic(err)
} else {
log.Infof("ran %d migrations", num)
}

它可能会使用更多文档,您可能想向作者提出问题。

关于mysql - ory/ladon 管理器与 golang - 未创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48396854/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com