saiku数据库的表和用户默认创建是在启动项目的时候,通过初始化 saiku-beans.xml 中的 h2database 这个bean执行org.saiku.service.Database类的init方法来初始化数据表和默认用户的。
默认用户迁移mysql步骤:
1.修改web.xml文件,修改名为db.url,db.user,db.password的值。
2.修改saiku-bean.xml,注释h2database,添加mysqlDatabase,修改licenseBean中的databaseManager属性为mysqlDatabase。
3.修改saiku-beans.properties文件,修改userdao.driverclass,userdao.url,userdao.username,userdao.password的值。
4.修改applicationContext-spring-security-jdbc.properties文件,修改jdbcauth.driver,jdbcauth.url,jdbcauth.username,jdbcauth.password的值。
5.修改文件Database.java文件:
修改init方法,注释掉loadEarthquakes()(会导致启动报错)
修改initDB方法中的JdbcDataSource为MysqlDataSource
修改loadUsers方法、checkUpdatedEncyption方法、updateForEncyption方法中的sql语句(因为h2和mysql的语法有差别),可参考文章:http://www.cnblogs.com/avivaye/p/4881106.html
数据表迁移mysql步骤(已完成默认用户迁移):
1.创建数据表和插入数据。
2.在项目中创建文件夹legacy-datasources和legacy-schema,并复制schema文件和datasources文件
3.修改文件Database.java文件:
修改init方法,注释掉loadEarthquakes()和loadFoodmart()方法
修改loadLegacyDatasources()方法,直接引入schema文件和datasources文件
4.修改LegacyImporterImpl.java文件的importDatasources()方法:
启动项目登陆查看测试数据:
参考:http://www.cnblogs.com/avivaye/p/4881106.html