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)
错误打印为:
表格' policies.ladon_policy'不存在。
为什么表格没有被创建?
答案 0 :(得分:0)
您需要拨打manager.CreateSchemas,这是管理员自己从未做过的。
您为它提供了模式名称(我认为只有postgresql)和表名来跟踪迁移信息。
例如:
if num, err := m.CreateSchemas("", "my_migration_table"); err != nil {
panic(err)
} else {
log.Infof("ran %d migrations", num)
}
它可能会使用更多文档,您可能希望向作者提出问题。