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");
}
}
}