es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Durante la siembra de TypeORM me encuentro con el siguiente error. ¿Alguna sugerencia de qué estoy perdiendo? Error “QueryFailedError: la relación ‘zipcode’ no existe”.

TypeORM:
Requisito: Necesitamos insertar datos en una tabla.

Si ejecuto la migración o la siembra de datos (dentro de las migraciones) por separado, funciona bien. Sin embargo, necesito realizar esta tarea en un solo paso.

He creado una migración para crear la tabla e insertar datos en la tabla al mismo tiempo. Cuando ejecuto la migración, devuelve un error: Error durante la ejecución de la migración: ErrorQueryFailedError: la relación “zipcode” no existe, aunque no definí ninguna relación en la migración.

Mi código de migración es el siguiente:

“`export class CreateZipCodeTable1637735599477 implements MigrationInterface {

public async up(queryRunner: QueryRunner): Promise<void> {
await queryRunner.query(
<code>CREATE TABLE &quot;zipcode&quot; (
&quot;id&quot; SERIAL NOT NULL,
&quot;zipCode&quot; character varying NOT NULL,
&quot;city&quot; character varying NOT NULL,
&quot;state&quot; character varying NOT NULL,
&quot;county&quot; character varying,
&quot;country&quot; character varying,
PRIMARY KEY (&quot;id&quot;))</code>
);

<pre><code>await getConnection()
.createQueryBuilder()
.insert()
.into(&quot;zipcode&quot;)
.values([
{
id: 1,
zipCode: &quot;501&quot;,“`

Parte del error:

Código: CREATE TABLE "zipcode" (
"id" SERIAL NOT NULL,
"zipCode" character varying NOT NULL,
"city" character varying NOT NULL,
"state" character varying NOT NULL,
"county" character varying,
"country" character varying,
PRIMARY KEY ("id"))
consulta: INSERT INTO "zipcode"("zipCode", "city", "state", "county", "country") VALUES ($1, $2, $3, $4, $5) RETURNING "id" — PARÁMETROS: ["501","Holtsville","New York","Suffolk County","US"]
error: error: la relación "zipcode" no existe.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error “error: la relación “zipcode” no existe” indica que la tabla “zipcode” no existe en la base de datos en el momento en que la migración intenta insertar datos en ella.

    Este error puede ser causado por algunos factores, como:

    1. El script de migración no se está ejecutando en el orden correcto. Asegúrese de que se ejecuten primero las dependencias que necesita la migración (como la creación de tablas) antes del script de migración que contiene la siembra de datos.
    2. Puede haber un error tipográfico o una inconsistencia entre el nombre de la tabla en el script de migración y el nombre real de la tabla en la base de datos.

    3. El script de migración puede no estar siendo ejecutado en absoluto. Verifique que el script esté incluido en la lista de migraciones que se están ejecutando y que no se esté saltando o ignorando.

    Para solucionar este error, intente dividir la migración en scripts separados para la creación de tablas y la siembra de datos, y verifique que cada script se esté ejecutando correctamente en aislamiento. Luego, trabaje en combinar los scripts en un solo script de migración, asegurándose de que se esté ejecutando en el orden correcto y que el nombre sea consistente en todo.

Comments are closed.