title: Can ORMLite auto-upgrade a database by dropping and recreating?
body: <p>We have an ORMLite solution implemented in our current application. We use it for caching results from REST calls from our servers. So, it's not super important that the data be there (or be left over when a user updates the app). We just added an update which created a new column in one of our database-persisted models, <code>Shift</code>, and we're now seeing the following exception:</p>
  
  <pre><code>Caused by: android.database.sqlite.SQLiteException: no such column: acknowledged (code 1): , while compiling: SELECT * FROM ...
         at android.database.sqlite.SQLiteConnection.nativePrepareStatement(SQLiteConnection.java)
         at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1113)
         at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:690)
         at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
         at android.database.sqlite.SQLiteProgram.&lt;init&gt;(SQLiteProgram.java:58)
         at android.database.sqlite.SQLiteQuery.&lt;init&gt;(SQLiteQuery.java:37)
         at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:44)
         at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1430)
         at android.database.sqlite.SQLiteDatabase.rawQuery(SQLiteDatabase.java:1369)
         at com.j256.ormlite.android.AndroidCompiledStatement.getCursor(AndroidCompiledStatement.java:162)
         at com.j256.ormlite.android.AndroidCompiledStatement.runQuery(AndroidCompiledStatement.java:57)
         at com.j256.ormlite.stmt.SelectIterator.&lt;init&gt;(SelectIterator.java:55)
         at com.j256.ormlite.stmt.StatementExecutor.buildIterator(StatementExecutor.java:232)
         at com.j256.ormlite.stmt.StatementExecutor.query(StatementExecutor.java:181)
         at com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:263)
  </code></pre>
  
  <p>I checked to make sure this field was added to the ORMLite configuration file, and it was, so I'm not sure what's happening here. I thought that ORMLite will drop the database and re-create it if it finds that the schema has changed (and you don't add an <code>onUpgrade()</code> method to the <code>DatabaseHelper</code>), but I'm now thinking I'm incorrect.</p>
  
  <p>How do I fix this? I've tried reading through the ORMLite manual, but either I glossed over the section about default upgrade behavior or I didn't find it...</p>