title: Room: Database not created
body: <p>I try use room library from google architecture. I write few codes based on the BasicSample from google, but database not created (for my code). Logcat does not contains errors and exceptions. Please help me find my mistake:</p>
  <pre><code>//App.java
  //...
  public class App extends Application {
      private AppExecutors mAppExecutors;
      private static final String TAG = &quot;App&quot;;
  
      @Override
      public void onCreate() {
          super.onCreate();
          Log.i(TAG, &quot;onCreate: enter&quot;);
          mAppExecutors = new AppExecutors();
          getDatabase();
      }
  
      public AppDatabase getDatabase() {
          return AppDatabase.getInstance(this, mAppExecutors);
      }
  }
  </code></pre>
  <p>My AppDatabase class looks:</p>
  <pre><code>//AppDatabase.java
  //...
  @Database(entities = {Camera.class}, version = 1)
  public abstract class AppDatabase extends RoomDatabase {
      private static final String DATABASE_NAME = &quot;mydatabase&quot;;
      private static AppDatabase sInstance;
      private AppExecutors mExecutors;
      public abstract CameraDao cameraModel();
  
      public static AppDatabase getInstance(final Context context, final AppExecutors executors) {
          if (sInstance == null) {
              synchronized (AppDatabase.class) {
                  if (sInstance == null) {
                      sInstance = buildDatabase(context.getApplicationContext(), executors);
                  }
              }
          }
          return sInstance;
      }
      private static final String TAG = &quot;AppDatabase&quot;;
      private static AppDatabase buildDatabase(final Context context, final AppExecutors executors) {
          Log.i(TAG, &quot;buildDatabase: enter&quot;);
          AppDatabase database = Room.databaseBuilder(context, AppDatabase.class, DATABASE_NAME)
                  .addCallback(new Callback() {
  
                      @Override
                      public void onCreate(@NonNull SupportSQLiteDatabase db) {
                          Log.i(TAG, &quot;onCreate: &quot;);
                          super.onCreate(db);
  
                          executors.diskIO().execute(() -&gt; getInstance(context, executors).initDb());
                      }
                  })
                  .build();
          database.mExecutors = executors;
          Log.i(TAG, &quot;buildDatabase: exit&quot;);
          return database;
      }
  
      private void initDb() {
          cameraModel().insert(new Camera(1, &quot;Canon&quot;, &quot;EOS 5d Mark III&quot;, 1024, 768, 24, 22, 0.0, true));
      }
  }
  </code></pre>
  <p>Dao interface:</p>
  <pre><code>//CameraDao.java
  @Dao
  public interface CameraDao {
      @Insert
      void insert(Camera camera);
  }
  </code></pre>
  <p>And Entity class:</p>
  <pre><code>// Camera.java
  @Entity
  public class Camera {
      @PrimaryKey(autoGenerate = true)
      public long id;
      public String list_name;
      public String camera_name;
      public int max_resolution_width;
      public int max_resolution_height;
      public int max_sensor_width;
      public int max_sensor_height;
      public double coc;
      public boolean is_auto_coc;
  
      public Camera(long id, String list_name, String camera_name, int max_resolution_width, int max_resolution_height, int max_sensor_width, int max_sensor_height, double coc, boolean is_auto_coc) {
          this.id = id;
          this.list_name = list_name;
          this.camera_name = camera_name;
          this.max_resolution_width = max_resolution_width;
          this.max_resolution_height = max_resolution_height;
          this.max_sensor_width = max_sensor_width;
          this.max_sensor_height = max_sensor_height;
          this.coc = coc;
          this.is_auto_coc = is_auto_coc;
      }
  
      @Ignore
      public Camera(String list_name, String camera_name, int max_resolution_width, int max_resolution_height, int max_sensor_width, int max_sensor_height, double coc, boolean is_auto_coc) {
          this.list_name = list_name;
          this.camera_name = camera_name;
          this.max_resolution_width = max_resolution_width;
          this.max_resolution_height = max_resolution_height;
          this.max_sensor_width = max_sensor_width;
          this.max_sensor_height = max_sensor_height;
          this.coc = coc;
          this.is_auto_coc = is_auto_coc;
      }
  }
  </code></pre>
  <p>So, with this code database could not created. Callback for create db not called. Btw, if I have autoincrement field is it possible insert custom value (for special conditions).</p>
  <p>My logcat for this code:</p>
  <blockquote>
  <p>12-04 00:54:47.536 9150-9150/ru.neverdark.photonotes I/App: onCreate: enter</p>
  <p>12-04 00:54:47.537 9150-9150/ru.neverdark.photonotes I/AppDatabase: buildDatabase: enter</p>
  <p>12-04 00:54:47.541 9150-9150/ru.neverdark.photonotes I/AppDatabase: buildDatabase: exit</p>
  </blockquote>