orng / ladon经理与golang - 表没有创建

时间:2018-01-23 08:06:52

标签: mysql go

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'不存在。

为什么表格没有被创建?

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

1 个答案:

答案 0 :(得分:0)

您需要拨打manager.CreateSchemas,这是管理员自己从未做过的。

您为它提供了模式名称(我认为只有postgresql)和表名来跟踪迁移信息。

例如:

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

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