Closed chandrasekharpatra closed 3 months ago
Facing the same issue when trying to deploy on Railway. Works fine locally though.
When the database schema does not yet exist, you can set the dbConnectionOptions.synchronize
setting to true
and that will cause Vendure to populate the DB schema when it bootstraps.
Describe the bug
While starting the server I keep getting the below error.
error 5/6/24, 11:25 PM - [Vendure Server] Timed out when awaiting the DB schema to be ready! QueryFailedError: relation "public.administrator" does not exist at PostgresQueryRunner.query (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:331:19) at processTicksAndRejections (node:internal/process/task_queues:95:5) at async SelectQueryBuilder.loadRawResults (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:3805:25) at async SelectQueryBuilder.executeEntitiesAndRawResults (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:3551:26) at async SelectQueryBuilder.getRawAndEntities (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:1670:29) at async SelectQueryBuilder.getMany (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:1760:25) at async InitializerService.awaitDbSchemaGeneration (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@vendure/core/src/service/initializer.service.ts:73:32) at async InitializerService.onModuleInit (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@vendure/core/src/service/initializer.service.ts:40:9) at async Promise.all (index 1) at async callModuleInitHook (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@nestjs/core/hooks/on-module-init.hook.js:43:5) QueryFailedError: relation "public.zone" does not exist at PostgresQueryRunner.query (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:331:19) at processTicksAndRejections (node:internal/process/task_queues:95:5) at async SelectQueryBuilder.loadRawResults (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:3805:25) at async SelectQueryBuilder.executeEntitiesAndRawResults (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:3551:26) at async SelectQueryBuilder.getRawAndEntities (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:1670:29) at async SelectQueryBuilder.getMany (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:1760:25) at async createSelfRefreshingCache (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@vendure/core/src/common/self-refreshing-cache.ts:71:29) at async ZoneService.createCache (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@vendure/core/src/service/services/zone.service.ts:61:16) at async ZoneService.ensureCacheExists (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@vendure/core/src/service/services/zone.service.ts:221:22) at async ZoneService.initZones (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@vendure/core/src/service/services/zone.service.ts:52:9) { query: 'SELECT "Zone"."createdAt" AS "Zone_createdAt", "Zone"."updatedAt" AS "Zone_updatedAt", "Zone"."name" AS "Zone_name", "Zone"."id" AS "Zone_id", "ZoneZone_members"."createdAt" AS "ZoneZone_members_createdAt", "ZoneZone_members"."updatedAt" AS "ZoneZone_members_updatedAt", "ZoneZone_members"."code" AS "ZoneZone_members_code", "ZoneZone_members"."type" AS "ZoneZone_members_type", "ZoneZone_members"."enabled" AS "ZoneZone_members_enabled", "ZoneZone_members"."id" AS "ZoneZone_members_id", "ZoneZone_members"."parentId" AS "ZoneZone_members_parentId", "ZoneZone_members"."discriminator" AS "ZoneZone_members_discriminator", "ZoneZone_membersZoneZone_members_translations"."createdAt" AS "Zone__Zone_membersZoneZone_members_translations_createdAt", "Zone__Zone_membersZoneZone_members_translations"."updatedAt" AS "ZoneZone_membersZoneZone_members_translations_updatedAt", "ZoneZone_membersZoneZone_members_translations"."languageCode" AS "6ec28857ea2abf818a953190ac5c79be0399257b", "Zone__Zone_membersZoneZone_members_translations"."name" AS "ZoneZone_membersZoneZone_members_translations_name", "ZoneZone_membersZoneZone_members_translations"."id" AS "Zone__Zone_membersZoneZone_members_translations_id", "Zone__Zone_membersZoneZone_members_translations"."baseId" AS "ZoneZone_membersZoneZone_members_translations_baseId" FROM "public"."zone" "Zone" LEFT JOIN "public"."zone_members_region" "Zone_ZoneZone_members" ON "Zone_ZoneZone_members"."zoneId"="Zone"."id" LEFT JOIN "public"."region" "ZoneZone_members" ON "ZoneZone_members"."id"="Zone_ZoneZone_members"."regionId" LEFT JOIN "public"."region_translation" "Zone__Zone_membersZoneZone_members_translations" ON "ZoneZone_membersZoneZone_members_translations"."baseId"="Zone__Zone_members"."id"', parameters: [], driverError: error: relation "public.zone" does not exist at /Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/pg/lib/client.js:526:17 at processTicksAndRejections (node:internal/process/task_queues:95:5) at async PostgresQueryRunner.query (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/typeorm/src/driver/postgres/PostgresQueryRunner.ts:260:25) at async SelectQueryBuilder.loadRawResults (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:3805:25) at async SelectQueryBuilder.executeEntitiesAndRawResults (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:3551:26) at async SelectQueryBuilder.getRawAndEntities (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:1670:29) at async SelectQueryBuilder.getMany (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/src/query-builder/SelectQueryBuilder.ts:1760:25) at async createSelfRefreshingCache (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@vendure/core/src/common/self-refreshing-cache.ts:71:29) at async ZoneService.createCache (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@vendure/core/src/service/services/zone.service.ts:61:16) at async ZoneService.ensureCacheExists (/Users/chandrasekhar.patra/Projects/ecommerce/demo-store/node_modules/@vendure/core/src/service/services/zone.service.ts:221:22) { length: 112, severity: 'ERROR', code: '42P01', detail: undefined, hint: undefined, position: '1416', internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, column: undefined, dataType: undefined, constraint: undefined, file: 'parse_relation.c', line: '1428', routine: 'parserOpenTable' }, length: 112, severity: 'ERROR', code: '42P01', detail: undefined, hint: undefined, position: '1416', internalPosition: undefined, internalQuery: undefined, where: undefined, schema: undefined, table: undefined, column: undefined, dataType: undefined, constraint: undefined, file: 'parse_relation.c', line: '1428', routine: 'parserOpenTable' }
To Reproduce
Expected behavior
All the tables should created and server should start without error.
Environment (please complete the following information):