Hi James, Starting with Isis 1.10.0 we've moved the tables of the modules to their own database schema to avoid clashes with similar named entities in your own domain or other modules. Here's [1] a sample of an MSSQL script that we used. You have create something similar for MySQL I guess.
Looking at the error message I also suspect that the automatic creation of schemas does not work on MySQL, perhaps it requires delimiters around the schema name? Try creating the schemas manually as a workaround. [1] https://gist.github.com/jcvanderwal/c30e2d8c4d11aec5b0c0 On 16 November 2015 at 11:10, Chuangyu <zhu.chuan...@gmail.com> wrote: > Hi, > > I create a new 1.10 simple app and copy all code from 1.8 to 1.10. > And made some change to fit new 1.10 specs. > When start system , Eclipse show errors on console box. > It seems each addon module occur one error. > Below is one of errors: > > Unable to create schema > com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an > error in your SQL syntax; check the manual that corresponds to your MySQL > server version for the right syntax to use near '"isissessionlogger"' at > line 1 > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:422) > at com.mysql.jdbc.Util.handleNewInstance(Util.java:408) > at com.mysql.jdbc.Util.getInstance(Util.java:383) > at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1062) > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4226) > at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4158) > at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2615) > at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2776) > at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2834) > at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2783) > at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:908) > at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:788) > at > > org.apache.isis.objectstore.jdo.datanucleus.CreateSchemaObjectFromClassMetadata.exec(CreateSchemaObjectFromClassMetadata.java:117) > at > > org.apache.isis.objectstore.jdo.datanucleus.CreateSchemaObjectFromClassMetadata.loaded(CreateSchemaObjectFromClassMetadata.java:76) > at > > org.datanucleus.metadata.MetaDataManagerImpl.processListenerLoadingCall(MetaDataManagerImpl.java:1705) > at > > org.datanucleus.metadata.MetaDataManagerImpl.getMetaDataForClass(MetaDataManagerImpl.java:1681) > at > > org.datanucleus.metadata.MetaDataManagerImpl.getMetaDataForClass(MetaDataManagerImpl.java:1580) > at > > org.datanucleus.metadata.MetaDataManagerImpl.getReferencedClasses(MetaDataManagerImpl.java:3009) > at > > org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.addClassTables(RDBMSStoreManager.java:2981) > at > > org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.run(RDBMSStoreManager.java:2872) > at > > org.datanucleus.store.rdbms.AbstractSchemaTransaction.execute(AbstractSchemaTransaction.java:119) > at > > org.datanucleus.store.rdbms.RDBMSStoreManager.createSchemaForClasses(RDBMSStoreManager.java:3842) > at > > org.apache.isis.core.runtime.system.persistence.DataNucleusApplicationComponents.createSchema(DataNucleusApplicationComponents.java:191) > at > > org.apache.isis.core.runtime.system.persistence.DataNucleusApplicationComponents.createPmfAndSchemaIfRequired(DataNucleusApplicationComponents.java:150) > at > > org.apache.isis.core.runtime.system.persistence.DataNucleusApplicationComponents.initialize(DataNucleusApplicationComponents.java:105) > at > > org.apache.isis.core.runtime.system.persistence.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:98) > at > > org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory.createDataNucleusApplicationComponents(PersistenceSessionFactory.java:92) > at > > org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory.init(PersistenceSessionFactory.java:73) > at org.apache.isis.core.runtime.system.IsisSystem.init(IsisSystem.java:203) > at > > org.apache.isis.core.runtime.runner.IsisInjectModule.provideIsisSystem(IsisInjectModule.java:140) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:497) > at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104) > at > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) > at > > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031) > at > > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at com.google.inject.Scopes$1$1.get(Scopes.java:65) > at > > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) > at > > com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:53) > at > > com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110) > at > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75) > at > > com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73) > at > > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) > at > > com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73) > at > > com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60) > at > > com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) > at > > org.apache.isis.viewer.wicket.viewer.IsisWicketApplication.init(IsisWicketApplication.java:265) > at tm.webapp.TruckMonitorApplication.init(TruckMonitorApplication.java:75) > at org.apache.wicket.Application.initApplication(Application.java:823) > at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:427) > at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:351) > at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:138) > at > > org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:852) > at > > org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:298) > at > org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349) > at > > org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) > at > > org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) > at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) > at org.eclipse.jetty.server.Server.start(Server.java:387) > at > > org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) > at > > org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) > at org.eclipse.jetty.server.Server.doStart(Server.java:354) > at > > org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) > at > > org.apache.isis.core.webserver.WebServerBootstrapper.bootstrap(WebServerBootstrapper.java:91) > at org.apache.isis.core.webserver.WebServer.run(WebServer.java:107) > at org.apache.isis.core.webserver.WebServer.main(WebServer.java:71) > at org.apache.isis.WebServer.main(WebServer.java:25) > > > I check addon's dom module adn find > > @javax.jdo.annotations.PersistenceCapable( > identityType = IdentityType.DATASTORE, > schema = "isissecurity", > table = "ApplicationUser") > > There is schema = "isissecurity" than version 1.8.0 and table is > ApplicationUser not IsisSecurityApplicationUser. > > So how to migration these tables? And how to avoid "schema" clause in > MySQL? > > Thanks, > > James Chu. >