Play Framework:如何更改内存sa用户的默认密码?

时间:2011-10-19 20:38:28

标签: playframework

我正在尝试为sa用户设置自定义密码。我的application.conf包含

db=mem
db.url=jdbc:h2:mem:play;MODE=MYSQL
db.driver=org.h2.Driver
db.user=sa
db.pass=newpass

...并且播放框架似乎在play.db.DBPlugin

中覆盖它
if(p.getProperty("db.url") != null && p.getProperty("db.url").startsWith("jdbc:h2:mem:")) {
    p.put("db.driver", "org.h2.Driver");
    p.put("db.user", "sa");
    p.put("db.pass", "");
}

我怎样才能解决这个问题?

1 个答案:

答案 0 :(得分:2)

据我所知,这是因为内存模式下的H2使用默认用户/密码,因为它是基于RAM的数据库,当应用程序停止并且对用户的任何更改都将丢失时,它将被删除。

要避免这种情况,您必须使用H2的“文件”(而不是“mem”)实例或其他数据库。

我想不出你想要一个内存数据库并且更改密码是相关的场景。你能解释一下这个场景以及你想改变密码的原因吗?也许我们可以通过指出替代方案来提供帮助。