♻️ refactored - removed ID from db
Co-authored-by: Sindre Kjelsrud <kjelsrudsindre@gmail.com>
This commit is contained in:
		
							parent
							
								
									0fdc0e6af5
								
							
						
					
					
						commit
						f19dda9a42
					
				
					 6 changed files with 21 additions and 49 deletions
				
			
		|  | @ -10,7 +10,7 @@ using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; | ||||||
| namespace backend.Migrations | namespace backend.Migrations | ||||||
| { | { | ||||||
|     [DbContext(typeof(MovieDbContext))] |     [DbContext(typeof(MovieDbContext))] | ||||||
|     [Migration("20230918090830_V1__init")] |     [Migration("20230919073410_V1__init")] | ||||||
|     partial class V1__init |     partial class V1__init | ||||||
|     { |     { | ||||||
|         /// <inheritdoc /> |         /// <inheritdoc /> | ||||||
|  | @ -25,11 +25,8 @@ namespace backend.Migrations | ||||||
| 
 | 
 | ||||||
|             modelBuilder.Entity("backend.MovieDB", b => |             modelBuilder.Entity("backend.MovieDB", b => | ||||||
|                 { |                 { | ||||||
|                     b.Property<int>("Id") |                     b.Property<string>("imdbID") | ||||||
|                         .ValueGeneratedOnAdd() |                         .HasColumnType("text"); | ||||||
|                         .HasColumnType("integer"); |  | ||||||
| 
 |  | ||||||
|                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id")); |  | ||||||
| 
 | 
 | ||||||
|                     b.Property<string>("Poster") |                     b.Property<string>("Poster") | ||||||
|                         .HasColumnType("text"); |                         .HasColumnType("text"); | ||||||
|  | @ -43,10 +40,7 @@ namespace backend.Migrations | ||||||
|                     b.Property<string>("Year") |                     b.Property<string>("Year") | ||||||
|                         .HasColumnType("text"); |                         .HasColumnType("text"); | ||||||
| 
 | 
 | ||||||
|                     b.Property<string>("imdbID") |                     b.HasKey("imdbID"); | ||||||
|                         .HasColumnType("text"); |  | ||||||
| 
 |  | ||||||
|                     b.HasKey("Id"); |  | ||||||
| 
 | 
 | ||||||
|                     b.ToTable("Movies"); |                     b.ToTable("Movies"); | ||||||
|                 }); |                 }); | ||||||
|  | @ -1,5 +1,4 @@ | ||||||
| using Microsoft.EntityFrameworkCore.Migrations; | using Microsoft.EntityFrameworkCore.Migrations; | ||||||
| using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; |  | ||||||
| 
 | 
 | ||||||
| #nullable disable | #nullable disable | ||||||
| 
 | 
 | ||||||
|  | @ -15,17 +14,15 @@ namespace backend.Migrations | ||||||
|                 name: "Movies", |                 name: "Movies", | ||||||
|                 columns: table => new |                 columns: table => new | ||||||
|                 { |                 { | ||||||
|                     Id = table.Column<int>(type: "integer", nullable: false) |                     imdbID = table.Column<string>(type: "text", nullable: false), | ||||||
|                         .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn), |  | ||||||
|                     Title = table.Column<string>(type: "text", nullable: true), |                     Title = table.Column<string>(type: "text", nullable: true), | ||||||
|                     Year = table.Column<string>(type: "text", nullable: true), |                     Year = table.Column<string>(type: "text", nullable: true), | ||||||
|                     imdbID = table.Column<string>(type: "text", nullable: true), |  | ||||||
|                     Type = table.Column<string>(type: "text", nullable: true), |                     Type = table.Column<string>(type: "text", nullable: true), | ||||||
|                     Poster = table.Column<string>(type: "text", nullable: true) |                     Poster = table.Column<string>(type: "text", nullable: true) | ||||||
|                 }, |                 }, | ||||||
|                 constraints: table => |                 constraints: table => | ||||||
|                 { |                 { | ||||||
|                     table.PrimaryKey("PK_Movies", x => x.Id); |                     table.PrimaryKey("PK_Movies", x => x.imdbID); | ||||||
|                 }); |                 }); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  | @ -22,11 +22,8 @@ namespace backend.Migrations | ||||||
| 
 | 
 | ||||||
|             modelBuilder.Entity("backend.MovieDB", b => |             modelBuilder.Entity("backend.MovieDB", b => | ||||||
|                 { |                 { | ||||||
|                     b.Property<int>("Id") |                     b.Property<string>("imdbID") | ||||||
|                         .ValueGeneratedOnAdd() |                         .HasColumnType("text"); | ||||||
|                         .HasColumnType("integer"); |  | ||||||
| 
 |  | ||||||
|                     NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("Id")); |  | ||||||
| 
 | 
 | ||||||
|                     b.Property<string>("Poster") |                     b.Property<string>("Poster") | ||||||
|                         .HasColumnType("text"); |                         .HasColumnType("text"); | ||||||
|  | @ -40,10 +37,7 @@ namespace backend.Migrations | ||||||
|                     b.Property<string>("Year") |                     b.Property<string>("Year") | ||||||
|                         .HasColumnType("text"); |                         .HasColumnType("text"); | ||||||
| 
 | 
 | ||||||
|                     b.Property<string>("imdbID") |                     b.HasKey("imdbID"); | ||||||
|                         .HasColumnType("text"); |  | ||||||
| 
 |  | ||||||
|                     b.HasKey("Id"); |  | ||||||
| 
 | 
 | ||||||
|                     b.ToTable("Movies"); |                     b.ToTable("Movies"); | ||||||
|                 }); |                 }); | ||||||
|  |  | ||||||
|  | @ -6,11 +6,9 @@ using System.Globalization; | ||||||
| 
 | 
 | ||||||
| namespace backend; | namespace backend; | ||||||
| 
 | 
 | ||||||
| // [PrimaryKey(nameof(Id))] | [PrimaryKey(nameof(imdbID))] | ||||||
| public class MovieDB | public class MovieDB | ||||||
| { | { | ||||||
|     public int Id { get; set; } |  | ||||||
| 
 |  | ||||||
|     public string Title { get; set; } |     public string Title { get; set; } | ||||||
| 
 | 
 | ||||||
|     public string Year { get; set; } |     public string Year { get; set; } | ||||||
|  | @ -20,14 +18,4 @@ public class MovieDB | ||||||
|     public string Type { get; set; } |     public string Type { get; set; } | ||||||
| 
 | 
 | ||||||
|     public string Poster { get; set; } |     public string Poster { get; set; } | ||||||
| } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| public class MovieDBMap : ClassMap<MovieDB> |  | ||||||
| { |  | ||||||
|     public MovieDBMap() |  | ||||||
|     { |  | ||||||
|         AutoMap(CultureInfo.InvariantCulture); |  | ||||||
|         Map(m => m.Id).Ignore(); |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|  | @ -32,7 +32,6 @@ using (var scope = services.CreateScope()) | ||||||
|         using (var reader = new StreamReader("public/DbMockData.csv")) |         using (var reader = new StreamReader("public/DbMockData.csv")) | ||||||
|         using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) |         using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture)) | ||||||
|         { |         { | ||||||
|             csv.Context.RegisterClassMap<MovieDBMap>(); |  | ||||||
|             var records = csv.GetRecords<MovieDB>().ToList(); |             var records = csv.GetRecords<MovieDB>().ToList(); | ||||||
|             context.Movies.AddRange(records); |             context.Movies.AddRange(records); | ||||||
|             context.SaveChanges(); |             context.SaveChanges(); | ||||||
|  |  | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| Id,Title,Year,imdbID,Type,Poster | Title,Year,imdbID,Type,Poster | ||||||
| 0,The Shawshank Redemption,1994,tt0111161,Movie,https://example.com/poster1.jpg | The Shawshank Redemption,1994,tt0111161,Movie,https://example.com/poster1.jpg | ||||||
| 1,The Godfather,1972,tt0068646,Movie,https://example.com/poster2.jpg | The Godfather,1972,tt0068646,Movie,https://example.com/poster2.jpg | ||||||
| 2,Pulp Fiction,1994,tt0110912,Movie,https://example.com/poster3.jpg | Pulp Fiction,1994,tt0110912,Movie,https://example.com/poster3.jpg | ||||||
| 3,The Dark Knight,2008,tt0468569,Movie,https://example.com/poster4.jpg | The Dark Knight,2008,tt0468569,Movie,https://example.com/poster4.jpg | ||||||
| 4,Schindler's List,1993,tt0108052,Movie,https://example.com/poster5.jpg | Schindler's List,1993,tt0108052,Movie,https://example.com/poster5.jpg | ||||||
| 5,Forrest Gump,1994,tt0109830,Movie,https://example.com/poster6.jpg | Forrest Gump,1994,tt0109830,Movie,https://example.com/poster6.jpg | ||||||
| 6,Inception,2010,tt1375666,Movie,https://example.com/poster7.jpg | Inception,2010,tt1375666,Movie,https://example.com/poster7.jpg | ||||||
| 7,The Matrix,1999,tt0133093,Movie,https://example.com/poster8.jpg | The Matrix,1999,tt0133093,Movie,https://example.com/poster8.jpg | ||||||
| 8,The Lord of the Rings: The Fellowship of the Ring,2001,tt0120737,Movie,https://example.com/poster9.jpg | The Lord of the Rings: The Fellowship of the Ring,2001,tt0120737,Movie,https://example.com/poster9.jpg | ||||||
| 9,The Silence of the Lambs,1991,tt0102926,Movie,https://example.com/poster10.jpg | The Silence of the Lambs,1991,tt0102926,Movie,https://example.com/poster10.jpg | ||||||
|  |  | ||||||
| 
 | 
		Reference in a new issue
	
	 haraldnilsen
						haraldnilsen