Foren

Service Builder not creating tables in db - Liferay 7

thumbnail
Gaurav Jain, geändert vor 7 Jahren.

Service Builder not creating tables in db - Liferay 7

Junior Member Beiträge: 85 Beitrittsdatum: 12.07.16 Neueste Beiträge
Hi,

I am trying to create a service using liferay service builder. Everything goes well till deployment. But, when I check my DB after deploying complete module, it does not contain any table, which was mentioned in service.xml.
What I did:

1. Created a new liferay module project using servicebuilder template.
2. Under this project, inside student-service-project-service i modified service.xml. Where I just changed default namespace, entity name, and some columns were also modified.
3. Then run build-service from student-service-project->Liferay->Gradle->build-service
4 Run build from Gradle Tasks under student-service-project->build
5. Deployed my project through blade deploy
6. Deployment is done successfully. I cross-checked in gogo using lb it says Active.
7. I went to my database no entity was there. Cleared cache but still nothing was there.


My environment is:
Ubuntu 16.04, Eclipse Neon (with Liferay IDE 3.0.1.201606151031-ga2), mysql database version:5.6.16-1


Please help , how to resolve this?
Thanks
thumbnail
Juan Gonzalez, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Liferay Legend Beiträge: 3089 Beitrittsdatum: 28.10.08 Neueste Beiträge
Hi Gaurav.

Did you deployed a previous version of that service module before? Did your first service version deployed contain any column/entity?
thumbnail
Gaurav Jain, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Junior Member Beiträge: 85 Beitrittsdatum: 12.07.16 Neueste Beiträge
Hi Juan,

I deployed the service various times. And each time service contained an entity and some columns. But table was not created in any version of service. Each version change deployment, had a different way of either deployment or running build service ie.

For deployment I tried
1) creating jar and put it into deploy folder or
2) blade deploy

And for build-service I tried
1) Gradle task-> buildService or
2) ./gradlew buildService from terminal

In version4 of my service, I changed my entity name


This process is being repeated various time to create custom entity but entity is not being created.

If you can please tell me the steps to be followed for this?
thumbnail
Juan Gonzalez, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Liferay Legend Beiträge: 3089 Beitrittsdatum: 28.10.08 Neueste Beiträge
Ok, I think first time you deployed that service didn't have any entity.

There is a known behavior that new services won't update schema in Liferay 7. Following new versioning, you should create an Upgrade process for creating each new field.

We already created an LPS for this improvement while on development phase (https://issues.liferay.com/browse/LPS-67688.

Please read there in description steps to remove the previous services so tables are created again.

Thanks!
thumbnail
Gaurav Jain, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Junior Member Beiträge: 85 Beitrittsdatum: 12.07.16 Neueste Beiträge
Hi Juan,

I went through the LPS. Provided LPS says that first time service gets deployed successfully and creates new table in DB. And after that if we make any modification in service.xml the SQL code is not executed.

But I have different issue.

My servicebuilder module gets deployed successfully for each time but it does not create any table in DB not even for the first deployment ie. there is no entry in ServiceComponent and Release_ tables and no new table is created in DB after any deployment of servicebuilder module (not even after first deployment).


Following are the logs for various gradle task executions:

Gradle Tasks: buildService

modules:my-sample-service:my-sample-service-service:buildService
Building Foo
Writing src/main/java/in/componence/service/persistence/impl/FooPersistenceImpl.java
Writing ../my-sample-service-api/src/main/java/in/componence/service/persistence/FooPersistence.java
Writing ../my-sample-service-api/src/main/java/in/componence/service/persistence/FooUtil.java
Writing src/main/java/in/componence/model/impl/FooModelImpl.java
Writing src/main/java/in/componence/model/impl/FooBaseImpl.java
Writing src/main/java/in/componence/model/impl/FooImpl.java
Writing ../my-sample-service-api/src/main/java/in/componence/model/FooModel.java
Writing ../my-sample-service-api/src/main/java/in/componence/model/Foo.java
Writing src/main/java/in/componence/model/impl/FooCacheModel.java
Writing ../my-sample-service-api/src/main/java/in/componence/model/FooWrapper.java
Writing ../my-sample-service-api/src/main/java/in/componence/model/FooSoap.java
Writing src/main/java/in/componence/service/impl/FooLocalServiceImpl.java
Writing src/main/java/in/componence/service/base/FooLocalServiceBaseImpl.java
Writing ../my-sample-service-api/src/main/java/in/componence/service/FooLocalService.java
Writing ../my-sample-service-api/src/main/java/in/componence/service/FooLocalServiceUtil.java
Writing ../my-sample-service-api/src/main/java/in/componence/service/FooLocalServiceWrapper.java
Writing src/main/java/in/componence/service/impl/FooServiceImpl.java
Writing src/main/java/in/componence/service/base/FooServiceBaseImpl.java
Writing ../my-sample-service-api/src/main/java/in/componence/service/FooService.java
Writing ../my-sample-service-api/src/main/java/in/componence/service/FooServiceUtil.java
Writing ../my-sample-service-api/src/main/java/in/componence/service/FooServiceWrapper.java
Writing src/main/java/in/componence/service/http/FooServiceHttp.java
Writing src/main/java/in/componence/service/http/FooServiceSoap.java
Writing src/main/resources/META-INF/module-hbm.xml
Writing src/main/resources/META-INF/portlet-model-hints.xml
Writing src/main/resources/META-INF/spring/module-spring.xml
Writing ../my-sample-service-api/src/main/java/in/componence/exception/NoSuchFooException.java
Writing src/main/java/in/componence/service/util/PropsUtil.java
Writing src/main/resources/META-INF/sql/indexes.sql
Writing src/main/resources/META-INF/sql/tables.sql
Writing src/main/resources/META-INF/sql/tables.sql
Writing src/main/resources/service.properties



Gradle Tasks: build

:modules:my-sample-service:my-sample-service-api:compileJava
:modules:my-sample-service:my-sample-service-api:buildCSS UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:processResources UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:transpileJS SKIPPED
:modules:my-sample-service:my-sample-service-api:configJSModules SKIPPED
:modules:my-sample-service:my-sample-service-api:classes
:modules:my-sample-service:my-sample-service-api:jar
[aQute.bnd.annotation.ProviderType annotation used in class in.componence.model.FooModel. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations., aQute.bnd.annotation.ProviderType annotation used in class in.componence.model.Foo. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations., aQute.bnd.annotation.ProviderType annotation used in class in.componence.service.FooLocalService. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations., aQute.bnd.annotation.ProviderType annotation used in class in.componence.service.FooService. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations.]
[aQute.bnd.annotation.ProviderType annotation used in class in.componence.model.FooModel. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations., aQute.bnd.annotation.ProviderType annotation used in class in.componence.model.Foo. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations., aQute.bnd.annotation.ProviderType annotation used in class in.componence.service.FooLocalService. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations., aQute.bnd.annotation.ProviderType annotation used in class in.componence.service.FooService. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations.]
:modules:my-sample-service:my-sample-service-api:assemble
:modules:my-sample-service:my-sample-service-api:compileTestJava UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:processTestResources UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:testClasses UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:test UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:testIntegration SKIPPED
:modules:my-sample-service:my-sample-service-api:check UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:build
:modules:my-sample-service:my-sample-service-service:compileJavaNote: /mnt/d/Liferay7EclipseBundleWorkspace/IDE workspaces/workspace-learning/lfr-workspace/modules/my-sample-service/my-sample-service-service/src/main/java/in/componence/service/persistence/impl/FooPersistenceImpl.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.

:modules:my-sample-service:my-sample-service-service:buildCSS UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:processResources
:modules:my-sample-service:my-sample-service-service:transpileJS SKIPPED
:modules:my-sample-service:my-sample-service-service:configJSModules SKIPPED
:modules:my-sample-service:my-sample-service-service:classes
:modules:my-sample-service:my-sample-service-service:jar
:modules:my-sample-service:my-sample-service-service:assemble
:modules:my-sample-service:my-sample-service-service:compileTestJava UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:processTestResources UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:testClasses UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:test UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:testIntegration SKIPPED
:modules:my-sample-service:my-sample-service-service:check UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:build

BUILD SUCCESSFUL

Total time: 2.748 secs

Gradle Tasks: deploy

:modules:my-sample-service:my-sample-service-api:compileJava UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:buildCSS UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:processResources UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:transpileJS SKIPPED
:modules:my-sample-service:my-sample-service-api:configJSModules SKIPPED
:modules:my-sample-service:my-sample-service-api:classes UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:jar
[aQute.bnd.annotation.ProviderType annotation used in class in.componence.model.FooModel. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations., aQute.bnd.annotation.ProviderType annotation used in class in.componence.model.Foo. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations., aQute.bnd.annotation.ProviderType annotation used in class in.componence.service.FooLocalService. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations., aQute.bnd.annotation.ProviderType annotation used in class in.componence.service.FooService. Bnd versioning annotations are deprecated as of Bnd 3.2 and support will be removed in Bnd 4.0. Please change to use OSGi versioning annotations.]
:modules:my-sample-service:my-sample-service-api:jar UP-TO-DATE
:modules:my-sample-service:my-sample-service-api:deploy
:modules:my-sample-service:my-sample-service-service:compileJava UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:buildCSS UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:processResources UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:transpileJS SKIPPED
:modules:my-sample-service:my-sample-service-service:configJSModules SKIPPED
:modules:my-sample-service:my-sample-service-service:classes UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:jar UP-TO-DATE
:modules:my-sample-service:my-sample-service-service:deploy

BUILD SUCCESSFUL

Total time: 0.375 secs



It never say like : Running SQL scripts $SERVICENAMESPACE.



What should I do to create custom entity?
thumbnail
Juan Gonzalez, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Liferay Legend Beiträge: 3089 Beitrittsdatum: 28.10.08 Neueste Beiträge
Hi Gaurav.

Ok, thanks for the info.

Can you make a simple check? Could you open META-INF/MANIFEST.mf file inside your generated service jar file, and attach here contents?

Thanks!.
thumbnail
Gaurav Jain, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Junior Member Beiträge: 85 Beitrittsdatum: 12.07.16 Neueste Beiträge
Hi Juan,

Contents of [LIFERAY_BUNDLES]/osgi/modules/my.sample.service-service.jar/META-INF/MANIFEST.MF :

Manifest-Version: 1.0
Bnd-LastModified: 1472816908402
Bundle-ManifestVersion: 2
Bundle-Name: my.sample.service-service
Bundle-SymbolicName: my.sample.service-service
Bundle-Version: 1.0.0
Created-By: 1.8.0_101 (Oracle Corporation)
Import-Package: com.liferay.asset.kernel.service,com.liferay.asset.ker
nel.service.persistence,com.liferay.counter.kernel.service,com.lifera
y.expando.kernel.model,com.liferay.expando.kernel.util,com.liferay.ex
portimport.kernel.lar,com.liferay.portal.kernel.bean,com.liferay.port
al.kernel.configuration,com.liferay.portal.kernel.dao.db,com.liferay.
portal.kernel.dao.jdbc,com.liferay.portal.kernel.dao.orm,com.liferay.
portal.kernel.exception,com.liferay.portal.kernel.json,com.liferay.po
rtal.kernel.log,com.liferay.portal.kernel.model,com.liferay.portal.ke
rnel.model.impl,com.liferay.portal.kernel.module.framework.service,co
m.liferay.portal.kernel.search,com.liferay.portal.kernel.service,com.
liferay.portal.kernel.service.persistence,com.liferay.portal.kernel.s
ervice.persistence.impl,com.liferay.portal.kernel.util,com.liferay.po
rtal.kernel.uuid,com.liferay.portal.spring.extender.service,in.compon
ence.exception,in.componence.model,in.componence.service,in.componenc
e.service.persistence,javax.sql
Javac-Debug: on
Javac-Deprecation: off
Javac-Encoding: UTF-8
Liferay-Require-SchemaVersion: 1.0.0
Liferay-Service: true
Private-Package: in.componence.model.impl,in.componence.service.base,i
n.componence.service.http,in.componence.service.impl,in.componence.se
rvice.persistence.impl,in.componence.service.util
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"
Tool: Bnd-3.2.0.201605172007
thumbnail
Juan Gonzalez, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7 (Antwort)

Liferay Legend Beiträge: 3089 Beitrittsdatum: 28.10.08 Neueste Beiträge
Hi Gaurav.

Ok then I think you're reproducing an issue with those blade workspaces created long ago.

Please, follow steps here: https://web.liferay.com/community/forums/-/message_boards/message/78393499#_19_message_78393499 and recreate your service.

Whenever that is being made, check you have
Liferay-Spring-Context
property name in MANIFEST.

Thanks!
thumbnail
Gaurav Jain, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Junior Member Beiträge: 85 Beitrittsdatum: 12.07.16 Neueste Beiträge
Hi Juan,
Thanks for your constant and continuous updates. Finally I got my table in DB.


But One more thing I wanted to know is that In your forum message https://web.liferay.com/community/forums/-/message_boards/message/78393499#_19_message_78393499 you have advised to update gradle version by gradle wrapper --gradle-version=3.0 where is this useful?
thumbnail
Juan Gonzalez, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Liferay Legend Beiträge: 3089 Beitrittsdatum: 28.10.08 Neueste Beiträge
Gaurav Jain:
Hi Juan,
Thanks for your constant and continuous updates. Finally I got my table in DB.


But One more thing I wanted to know is that In your forum message https://web.liferay.com/community/forums/-/message_boards/message/78393499#_19_message_78393499 you have advised to update gradle version by gradle wrapper --gradle-version=3.0 where is this useful?


You're welcome Gaurav. Can you confirm those steps fixed your issue?

About gradle version, it was useful for some users having an old version. Maybe it isn't your case.
thumbnail
Gaurav Jain, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Junior Member Beiträge: 85 Beitrittsdatum: 12.07.16 Neueste Beiträge
Hi Juan,

Juan Gonzalez:

Can you confirm those steps fixed your issue?
.


Steps to fix issue:

1. Inside the service builder module ,in both sub-modules (api and service), edit build.gradle changing all "compileOnly" to "compile".

Complete steps to create service builder module in liferay7 , Eclipse Neon (with Liferay IDE updated to 3.0.1.201606151031-ga2), mysql database version:5.6.16-1:

1. Create a new liferay module project using servicebuilder template.
2. Under this project, inside service sub-module modify service.xml as per your entity requirement.
3. Inside the service builder module ,in both sub-modules (api and service), edit build.gradle changing all "compileOnly" to "compile".
4. Then run build-service from service-project->Liferay->Gradle->build-service
5. Run build from Gradle Tasks under service-project->build
6. Deploy service builder module.
Rahul Kumar, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

New Member Beiträge: 2 Beitrittsdatum: 08.02.17 Neueste Beiträge
Hi Gaurav,
Service Builder is not creating table in MySql db ,I followed all the steps as you have mentioned above but still i am not getting my tables in db.

please help me to resolved this .
Thanks.
Thirumal Reddy, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

Regular Member Beiträge: 216 Beitrittsdatum: 03.12.15 Neueste Beiträge
Hi Rahul,
Make sure your api and service module build.gradle files must be compile not CompileOnly
and change your settings.gradle file "com.liferay.gradle.plugins.workspace" version to 1.0.40 in your liferay workspace

example liferay settings.gradle file.,

buildscript {
dependencies {
classpath group: "com.liferay", name: "com.liferay.gradle.plugins.workspace", version: "1.0.40"
}

repositories {
maven {
url "https://cdn.lfrs.sl/repository.liferay.com/nexus/content/groups/public"
}
}
}

apply plugin: "com.liferay.workspace"

now try with
gradle clean
gradle buildservice
gradle deploy.

Thnx,
Thirumal.
Razeena P, geändert vor 7 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

New Member Beiträge: 11 Beitrittsdatum: 08.08.16 Neueste Beiträge
Hii,

I have followed all the above mentioned steps but still I'm not able to see all my tables in mysql db. Please help me out.

Thanks
Neha A, geändert vor 6 Jahren.

RE: Service Builder not creating tables in db - Liferay 7

New Member Beiträge: 7 Beitrittsdatum: 13.11.17 Neueste Beiträge
Hi,
I am facing the same issue ,after builder the service table is not being created in DB even after following above mentioned steps.

Thanks