saiku数据库的表和用户默认创建是在启动项目的时候,通过初始化 saiku-beans.xml 中的 h2database 这个bean执行org.saiku.service.Database类的init方法来初始化数据表和默认用户的。

默认用户迁移mysql步骤:

1.修改web.xml文件,修改名为db.url,db.user,db.password的值。

saiku迁移至mysql步骤-LMLPHP

2.修改saiku-bean.xml,注释h2database,添加mysqlDatabase,修改licenseBean中的databaseManager属性为mysqlDatabase。

saiku迁移至mysql步骤-LMLPHP

saiku迁移至mysql步骤-LMLPHP

3.修改saiku-beans.properties文件,修改userdao.driverclass,userdao.url,userdao.username,userdao.password的值。

saiku迁移至mysql步骤-LMLPHP

4.修改applicationContext-spring-security-jdbc.properties文件,修改jdbcauth.driver,jdbcauth.url,jdbcauth.username,jdbcauth.password的值。

saiku迁移至mysql步骤-LMLPHP

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文件

saiku迁移至mysql步骤-LMLPHP

3.修改文件Database.java文件:

修改init方法,注释掉loadEarthquakes()和loadFoodmart()方法

修改loadLegacyDatasources()方法,直接引入schema文件和datasources文件

saiku迁移至mysql步骤-LMLPHP

4.修改LegacyImporterImpl.java文件的importDatasources()方法:

saiku迁移至mysql步骤-LMLPHP

启动项目登陆查看测试数据:

saiku迁移至mysql步骤-LMLPHP

参考:http://www.cnblogs.com/avivaye/p/4881106.html

05-21 12:52