title: In Room drop an Entity and recreate with updated changes
body: <p>I'm using Room database in my application. I've some changes in columns of the Entity , so in DB Migration I want to drop the old table and recreate it with the updated Entity. But after Drop Table query instead of writing a long query to create the table again, can we just pass the entity model somehow or tell the DB to recreate the entity? Because my Entity has a number of columns,relations and onDelete rule in it so query would be complex.</p>
  
  <p>Following is the Entity:</p>
  
  <pre><code>@Entity(tableName = MediaTags.TABLE_NAME_UPLOAD_MEDIA,
          foreignKeys =
          @ForeignKey(
                  entity = PostUpload.class,
                  parentColumns = PostTags.COLUMN_UPLOAD_POST_LOCAL_ID,
                  childColumns = MediaTags.COLUMN_UPLOAD_MEDIA_POST_ID,
                  onDelete = CASCADE),
          indices = {@Index(MediaTags.COLUMN_UPLOAD_MEDIA_POST_ID)})
  public class MediaUpload {
      @Ignore
      public final static int MEDIA_TYPE_IMAGE = 1;
      @Ignore
      public final static int MEDIA_TYPE_VIDEO = 2;
  
      @PrimaryKey
      @NonNull
      @ColumnInfo(name = MediaTags.COLUMN_UPLOAD_MEDIA_KEY)
      public String mediaKey; // unique key
      @ColumnInfo(name = MediaTags.COLUMN_UPLOAD_MEDIA_HASH_MD5)
      public String hashMd5;   // hashMd5 of file, for now we are sending it empty, in future will be used
      @ColumnInfo(name = MediaTags.COLUMN_UPLOAD_MEDIA_TYPE)
      public int mediaType;  // picture or video
      @ColumnInfo(name = MediaTags.COLUMN_UPLOAD_MEDIA_STATUS)
      public int status = UploadStatus.NOT_COMPRESSED; // upload and edit statues
      @ColumnInfo(name = MediaTags.COLUMN_UPLOAD_MEDIA_FILE_PATH)
      public String filePath;
      @ColumnInfo(name = MediaTags.COLUMN_UPLOAD_MEDIA_POST_ID)
      public String postId;
      @ColumnInfo(name = MediaTags.COLUMN_UPLOAD_MEDIA_THUMBNAIL)
      public String thumbnail;  // thumbnail in case of videos
      @ColumnInfo(name = MediaTags.COLUMN_UPLOAD_MEDIA_OVERLAY_PATH)
      public String overlayPath;  // overlay image containing all the editing
  
  }
  </code></pre>