Import against a live MoySklad account crashed with PostgreSQL 22001 after loading 21500/~N products: Article column was varchar(100), but some MoySklad items have longer internal codes, and Barcode.Code needed to grow for future GS1 DataMatrix / Честный ЗНАК tracking codes (up to ~300 chars). - EF config: Product.Article 100 → 500, ProductBarcode.Code 100 → 500. - Migration Phase1e_WidenArticleBarcode (applied to dev DB). - Defensive Trim() in the MoySklad importer for Name/Article/Barcode so even future schema drift won't take the whole import down. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
65 lines
2.1 KiB
C#
65 lines
2.1 KiB
C#
using Microsoft.EntityFrameworkCore.Migrations;
|
|
|
|
#nullable disable
|
|
|
|
namespace foodmarket.Infrastructure.Persistence.Migrations
|
|
{
|
|
/// <inheritdoc />
|
|
public partial class Phase1e_WidenArticleBarcode : Migration
|
|
{
|
|
/// <inheritdoc />
|
|
protected override void Up(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AlterColumn<string>(
|
|
name: "Article",
|
|
schema: "public",
|
|
table: "products",
|
|
type: "character varying(500)",
|
|
maxLength: 500,
|
|
nullable: true,
|
|
oldClrType: typeof(string),
|
|
oldType: "character varying(100)",
|
|
oldMaxLength: 100,
|
|
oldNullable: true);
|
|
|
|
migrationBuilder.AlterColumn<string>(
|
|
name: "Code",
|
|
schema: "public",
|
|
table: "product_barcodes",
|
|
type: "character varying(500)",
|
|
maxLength: 500,
|
|
nullable: false,
|
|
oldClrType: typeof(string),
|
|
oldType: "character varying(100)",
|
|
oldMaxLength: 100);
|
|
}
|
|
|
|
/// <inheritdoc />
|
|
protected override void Down(MigrationBuilder migrationBuilder)
|
|
{
|
|
migrationBuilder.AlterColumn<string>(
|
|
name: "Article",
|
|
schema: "public",
|
|
table: "products",
|
|
type: "character varying(100)",
|
|
maxLength: 100,
|
|
nullable: true,
|
|
oldClrType: typeof(string),
|
|
oldType: "character varying(500)",
|
|
oldMaxLength: 500,
|
|
oldNullable: true);
|
|
|
|
migrationBuilder.AlterColumn<string>(
|
|
name: "Code",
|
|
schema: "public",
|
|
table: "product_barcodes",
|
|
type: "character varying(100)",
|
|
maxLength: 100,
|
|
nullable: false,
|
|
oldClrType: typeof(string),
|
|
oldType: "character varying(500)",
|
|
oldMaxLength: 500);
|
|
}
|
|
}
|
|
}
|