How to access a demo data?

Tags: #<Tag:0x00007f01bfce63b0> #<Tag:0x00007f01bfce6220>

Hi all, Is there a way I can access demo data for the reporting module in particular? and run it locally?

@lgilbert can this help?

2 Likes

yeah sure, let me try this out. Thank you

1 Like

What do you exactly mean ?? theres no such thing as demo data for reporting module only. Anyway to use the reporting module, you can still use the default demo data installed on startup

2 Likes

Adding another option to the mix: https://wiki.openmrs.org/display/RES/Demo+Data

2 Likes

I have been trying to load this by following the links provided, however am bumping into this problem, my guess is that since I have created a database in the names of openmrs and added the demo data, when I start tomcat there is some bit of collision since its also trying to access the same database and creating new tables. Any suggestions on how I can go about this?

Cc. @gcliff @dkayiwa @mozzy

@lgilbert am thinking there could be a collision that needs to be fixed between your demo data and the openmrs database , can this help?

1 Like

I have actually bypassed that point, i needed to used ‘Advanced ‘ when setting my openmrs. Tho am still having a problem starting the calculation.omod which has been lately working. Let try to figure it out because it’s failing my reporting module to start yet all have been working fine lately. Thanks though, gonna keep u posted

good progress @lgilbert :+1:

1 Like

After using the demo data, the calculation module is still failing to startup yet I need it for my reporting module to start which am highly interested in. Here is my Tomcat log https://pastebin.com/xU5P8kjk. I need some help here asap on what is going wrong. thanks in advance

There is this error in particular.

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘openmrs.calculation_registration’ doesn’t exist at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.Util.getInstance(Util.java:408) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858) at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1966) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:116) at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:82) … 54 more

Cc. @gcliff @mozzy

It seems that your current database has the change set for calculation_registration run (in liquibasechangeset_log table), which it shouldn’t. In any case here are some ways you can solve this

  1. Restore your previous database, copy the calculation_registration table, import the demo data and finally import the copied table back.
  2. Find the changeset responsible for creating the calculation table and remove it.
  3. Copy the missing table from some other instance.

All these are admittedly very hacky and you probably might end up with other problems, so, to avoid all the troubles you can simply start afresh.

1 Like

Well thank you for this, let me follow up and revert back Incase of any questions or success.

I managed to bypass the previous error however on starting the Reporting module, below is what am seeing. Error while trying to start module Unable to update data model using liquibase.xml. Module: Reporting even after all its required modules running.

This is what am seeing in my Tomcat log .

pointing out Caused by:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘openmrs.reporting_report_request’ doesn’t exist at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.Util.getInstance(Util.java:408) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:944) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2480) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2438) at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:845) at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:745) at liquibase.executor.jvm.JdbcExecutor$1ExecuteStatementCallback.doInStatement(JdbcExecutor.java:92) at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:55) … 11 more INFO - LoggingAdvice.invoke(116) |2019-06-28 00:25:08,939| In method AlertService.saveAlert. Arguments: Alert=Alert: #null, INFO - LoggingAdvice.invoke(156) |2019-06-28 00:25:08,952| Exiting method saveAlert

Which method did you use to get here? If you started with a particular demodata it is possible that the included liquibasechangelog already have some changesets marked as run while the accompanying tables corresponding to those changesets are not included. For instance here, the system expects the table openmrs.reporting_report_request to already be there but it is not. As I advised you before you can simply copy the table from another instance but the challenge is to know which version to copy because if there are other changesets which depend on specific condition of the table then you might end up with other problems. If you are down to it, you can examine the changesets and simply do the SQL manipulation to bring the database into the required integral state. This includes fiddling with the liquibasechangelog table plus the other tables.

Are you simply trying to get some data to play around with? What table data are you looking for?

1 Like

Am looking for some data to play around with especially the reports. my idea is to be able to regenerate the issues/errors in some tickets that require so for example this. and most of all familiarize with the system work flow.

Did you manage to solve your problem?

1 Like

its still persisting. I created a new instance of openmrs but this time without the demo data, from the openmrs simple option during setup however I checked the database but this openmrs.reporting_report_request doesnt exit there either yet this was the same method to acquire the calculation_registration` table . so am trying to figure out some other options you provded but its still all in vain. :pensive:

The table reporting_report_request is coming from the reporting module. If you simply install Openmrs it won’t be there. I was referring to the case where the demodata dump was generated from a system that had the module installed. You need to install that module to have the table created.

1 Like