Resolution: Implemented in Platform
7.0.0 CE GA1, 7.0.1 CE GA2
The first time you run the deployment of a module that uses the service builder, running the SQL code is successful (tables, indexes, sequence, etc ...).
For example, when I add a new column (service.xml) and re-run the deployment after running the buildservice, the SQL code is not executed and therefore the new column is not added to the table.
Although upgrade had changed in Liferay 7 as stated in Developer Network (Upgrade Process in Liferay 7link title), developers from previous versions can find this unefficient, mostly in development phases.
If you want to apply the new changes then you should perform the following SQL operations on the database:
- drop table relating to the service;
- delete record on the release_ table which are related to the service;
- delete record on the servicecomponent table which are related to the service;
Following an example of SQL statements to be executed for a custom service:
Once executed SQL statements deploy the service again. You'll notice again on Liferay log the entry "Running SQL scripts $SERVICENAMESPACE"
It would be great to implement a "developer" mode so at least those new columns are added automatically.