using System; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace MaBibli.Api.Data.Migrations { /// /// Crée la table sœur des envies : les revues et numéros souhaités. /// /// /// Rien à reprendre de l'existant — la notion n'existait pas — donc une simple création de /// table, contrairement à RangDesEnvies qui devait reconduire un ordre déjà affiché. /// /// ⚠️ NumeroNormalise est NOT NULL avec un défaut vide, et ce n'est pas une /// coquetterie : SQLite tient deux NULL pour distincts, et l'unicité ci-dessous /// laisserait alors ajouter autant de fois « Médor, sans numéro » qu'on voudrait. Même /// piège que LivresSouhaites.AuteurNormalise. /// /// public partial class EnviesDeRevues : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "RevuesSouhaitees", columns: table => new { Id = table.Column(type: "INTEGER", nullable: false) .Annotation("Sqlite:Autoincrement", true), Utilisateur = table.Column(type: "TEXT", nullable: false), Titre = table.Column(type: "TEXT", nullable: false), TitreNormalise = table.Column(type: "TEXT", nullable: false), Numero = table.Column(type: "TEXT", nullable: true), NumeroNormalise = table.Column(type: "TEXT", nullable: false, defaultValue: ""), Issn = table.Column(type: "TEXT", nullable: true), Note = table.Column(type: "TEXT", nullable: true), DateAjout = table.Column(type: "TEXT", nullable: false), Rang = table.Column(type: "INTEGER", nullable: false) }, constraints: table => { table.PrimaryKey("PK_RevuesSouhaitees", x => x.Id); }); migrationBuilder.CreateIndex( name: "IX_RevuesSouhaitees_Utilisateur", table: "RevuesSouhaitees", column: "Utilisateur"); migrationBuilder.CreateIndex( name: "IX_RevuesSouhaitees_Utilisateur_Revue", table: "RevuesSouhaitees", columns: new[] { "Utilisateur", "TitreNormalise", "NumeroNormalise" }, unique: true); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "RevuesSouhaitees"); } } }