...
First get the Derby distribution, which includes the ij command-line utility.
| Code Block | 
|---|
root@usw1-l-jira01:~# wget 'http://archive.apache.org/dist/db/derby/db-derby-10.9.1.0/db-derby-10.9.1.0-bin.tar.gz' root@usw1-l-jira01:~# tar zxvf db-derby-10.9.1.0-bin.tar.gz root@usw1-l-jira01:~# export PATH+=:$HOME/db-derby-10.9.1.0-bin/bin root@usw1-l-jira01:~# which ij # /home/redradish/db-derby-10.9.1.0-bin/bin/ij  | 
...
So first we must make an offline copy of the Structure database;
| Code Block | 
|---|
root@usw1-l-jira01:~# cp -ra /var/atlassian/application-data/jira/current/structure ~/structure_offline | 
...
ij is as primitive and ugly as you'd expect. There is exactly one way to invoke it: passing in a properties file for connection parameters, and a SQL file to run:
| Code Block | 
|---|
ij> root@usw1-l-jira01:~# ij --help
Usage: java org.apache.derby.tools.ij [-p propertyfile] [inputfile] | 
To auto-connect to a particular database, you need to create a properties file, and tell ij to use it. For instance I created a ~/structure_offline.props file to connect to the ~/structure_offline/db Derby database, copied above:
| Code Block | ||||
|---|---|---|---|---|
  | ||||
echo "ij.database=jdbc:derby:/home/redradish${HOME}/structure_offline/db" > ~/structure_offline/db.props  | 
and finally we connect:
| Code Block | 
|---|
root@usw1-l-jira01:~# ij -p structure_offline.props ij version 10.9 CONNECTION0* - jdbc:derby:/home/redradish/structure_offline/db * = current connection ij>  | 
...