May 22, 2014

Run Grails Commands on Heroku

I recently needed to run Grails database migrations on Heroku and used the following steps to run these.

First,  the Grails wrapper is required which can be installed using the wrapper command.

After running the wrapper command for the first time on Heroku, it complained that JAVA_HOME needs to be set. So, I used the following command to determine JAVA_HOME:

$ heroku run which java
Running `which java` attached to terminal... up, run.6852
/app/.jdk/bin/java

I used just the home part of the path to set the JAVA_HOME variable:

$ heroku config:set JAVA_HOME='/app/.jdk'
Setting config vars and restarting ... done, v22
JAVA_HOME: /app/.jdk

Next, I ran the migration command with the environment I required:

$ heroku run ./grailsw -Dgrails.env=production dbm-update
| Finished dbm-update

Finally, I confirmed the tables were created that I needed:

$ heroku pg:info
=== HEROKU_POSTGRESQL_PURPLE_URL (DATABASE_URL)
Plan: Dev
Status: Available
Connections: 0
PG Version: 9.3.3
Created: 2014-05-11 03:38 UTC
Data Size: 6.6 MB
Tables: 3
Rows: 3/10000 (In compliance)

Using the above  steps, the Grails wrapper command could also be used to run other Grails commands on Heroku.

About the Author

Object Partners profile.
Leave a Reply

Your email address will not be published. Required fields are marked *

Related Blog Posts
Google Professional Machine Learning Engineer Exam 2021
Exam Description A Professional Machine Learning Engineer designs, builds, and productionizes ML models to solve business challenges using Google Cloud technologies and knowledge of proven ML models and techniques. The ML Engineer is proficient in all aspects […]
Designing Kubernetes Controllers
There has been some excellent online discussion lately around Kubernetes controllers, highlighted by an excellent Speakerdeck presentation assembled by Tim Hockin. What I’d like to do in this post is explore some of the implications […]
React Server Components
The React Team recently announced new work they are doing on React Server Components, a new way of rendering React components. The goal is to create smaller bundle sizes, speed up render time, and prevent […]
Jolt custom java transform
Jolt is a JSON to JSON transformation library where the transform is defined in JSON. It’s really good at reorganizing the json data and massaging it into the output JSON you need. Sometimes, you just […]