This tutorial will add a new field to the `Movies` table. We'll drop the database and create a new one when we change the schema (add a new field). This workflow works well early in development when we don't have any production data to preserve.
Once your app is deployed and you have data that you need to preserve, you can't drop your DB when you need to change the schema. Entity Framework [Code First Migrations](/ef/core/get-started/aspnetcore/new-db) allows you to update your schema and migrate the database without losing data. Migrations is a popular feature when using SQL Server, but SQLite doesn't support many migration schema operations, so only very simply migrations are possible. See [SQLite Limitations](/ef/core/providers/sqlite/limitations) for more information.
Because you've added a new field to the `Movie` class, you also need to update the binding whitelist so this new property will be included. In *MoviesController.cs*, update the `[Bind]` attribute for both the `Create` and `Edit` action methods to include the `Rating` property:
```csharp
[Bind("ID,Title,ReleaseDate,Genre,Price,Rating")]
```
You also need to update the view templates in order to display, create, and edit the new `Rating` property in the browser view.
Edit the */Views/Movies/Index.cshtml* file and add a `Rating` field:
Update the */Views/Movies/Create.cshtml* with a `Rating` field.
The app won't work until we update the DB to include the new field. If you run it now, you'll get the following `SqliteException`:
```
SqliteException: SQLite Error 1: 'no such column: m.Rating'.
```
You're seeing this error because the updated Movie model class is different than the schema of the Movie table of the existing database. (There's no `Rating` column in the database table.)
There are a few approaches to resolving the error:
1. Drop the database and have the Entity Framework automatically re-create the database based on the new model class schema. With this approach, you lose existing data in the database — so you can't do this with a production database! Using an initializer to automatically seed a database with test data is often a productive way to develop an app.
2. Manually modify the schema of the existing database so that it matches the model classes. The advantage of this approach is that you keep your data. You can make this change either manually or by creating a database change script.
3. Use Code First Migrations to update the database schema.
For this tutorial, we'll drop and re-create the database when the schema changes. Run the following command from a terminal to drop the db:
Update the `SeedData` class so that it provides a value for the new column. A sample change is shown below, but you'll want to make this change for each `new Movie`.