title: Is it possible to update specific table in locally stored database when I release a new version of the app by using database file
body: <p>I'm going to make an app that manages the product and bookmark information for each product.</p>
  <p>It is being developed using Java, SQLite, and Room.
  So, the database is stored locally.</p>
  <p>Information on products is web-crawled, stored in the <code>Product</code> Table in the <code>app.db</code> file, the file is included in the assets folder and the information is made available to users locally using the <code>createFromAsset()</code> method when the app is distributed.
  <a href="https://developer.android.com/training/data-storage/room/prepopulate" rel="nofollow noreferrer">https://developer.android.com/training/data-storage/room/prepopulate</a></p>
  <pre class="lang-java prettyprint-override"><code>private static AppDatabase create(final Context context) {
      return Room.databaseBuilder(context, AppDatabase.class, DB_NAME)
              .createFromAsset(&quot;database/app.db&quot;)
              .fallbackToDestructiveMigration()
              .allowMainThreadQueries()
              .build();
  }
  </code></pre>
  <p>And if the web crawling result is changed, I will replace the <code>app.db</code> file and distribute the app as an updated version.</p>
  <p><strong>I want to update the product information when I release a new version of the app, but I want the bookmark information that the user saved locally to remain.</strong></p>
  <p>I think two options, but both has a problem.</p>
  <ul>
  <li><p>Save it in the <code>ProductBookmark</code> table of the <code>app.db</code> file, the bookmark information will be deleted if the <code>app.db</code> file is replaced and distributed</p>
  </li>
  <li><p>Manage bookmark information in a completely different database file, there might be a problem because I cannot establish foreign key relationships between different databases.</p>
  </li>
  </ul>
  <p>How should I manage the bookmark information?</p>