From 6bbd6a2ffaec7bf3a144dc02162e193d51389a2e Mon Sep 17 00:00:00 2001 From: jlenon7 Date: Thu, 30 Apr 2026 11:04:17 -0300 Subject: [PATCH] fix: adjust relations column naming --- package-lock.json | 4 ++-- package.json | 2 +- .../relations/BelongsTo/BelongsToRelation.ts | 19 +++++++++++-------- .../relations/HasMany/HasManyRelation.ts | 17 ++++++++++------- src/models/relations/HasOne/HasOneRelation.ts | 17 ++++++++++------- 5 files changed, 34 insertions(+), 25 deletions(-) diff --git a/package-lock.json b/package-lock.json index 37a74b7..4092355 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@athenna/database", - "version": "5.46.0", + "version": "5.5.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@athenna/database", - "version": "5.46.0", + "version": "5.5.0", "license": "MIT", "dependencies": { "@faker-js/faker": "^8.4.1" diff --git a/package.json b/package.json index 17090a6..004b679 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@athenna/database", - "version": "5.46.0", + "version": "5.5.0", "description": "The Athenna database handler for SQL/NoSQL.", "license": "MIT", "author": "João Lenon ", diff --git a/src/models/relations/BelongsTo/BelongsToRelation.ts b/src/models/relations/BelongsTo/BelongsToRelation.ts index faeb9d4..53693fa 100644 --- a/src/models/relations/BelongsTo/BelongsToRelation.ts +++ b/src/models/relations/BelongsTo/BelongsToRelation.ts @@ -83,15 +83,18 @@ export class BelongsToRelation { query: Driver, relation: BelongsToOptions ) { - const schema = Model.schema() const RelationModel = relation.model() - - const primaryKey = schema.getMainPrimaryKeyName() - const foreignKey = - schema.getColumnNameByProperty(relation.foreignKey) || - schema.getColumnNameByProperty( - `${String.toCamelCase(RelationModel.name)}Id` - ) + const modelSchema = Model.schema() + const relationSchema = RelationModel.schema() + + const primaryKey = relation.primaryKey + ? relationSchema.getColumnNameByProperty(relation.primaryKey) + : relationSchema.getMainPrimaryKeyName() + const foreignKey = relation.foreignKey + ? modelSchema.getColumnNameByProperty(relation.foreignKey) + : modelSchema.getColumnNameByProperty( + `${String.toCamelCase(RelationModel.name)}Id` + ) let whereRaw = `${Model.table()}.${foreignKey} = ${RelationModel.table()}.${primaryKey}` diff --git a/src/models/relations/HasMany/HasManyRelation.ts b/src/models/relations/HasMany/HasManyRelation.ts index 76c2aa6..e9da17a 100644 --- a/src/models/relations/HasMany/HasManyRelation.ts +++ b/src/models/relations/HasMany/HasManyRelation.ts @@ -71,15 +71,18 @@ export class HasManyRelation { query: Driver, relation: HasManyOptions ) { - const schema = Model.schema() const RelationModel = relation.model() + const modelSchema = Model.schema() + const relationSchema = RelationModel.schema() - const primaryKey = schema.getMainPrimaryKeyName() - const foreignKey = - schema.getColumnNameByProperty(relation.foreignKey) || - schema.getColumnNameByProperty( - `${String.toCamelCase(RelationModel.name)}Id` - ) + const primaryKey = relation.primaryKey + ? modelSchema.getColumnNameByProperty(relation.primaryKey) + : modelSchema.getMainPrimaryKeyName() + const foreignKey = relation.foreignKey + ? relationSchema.getColumnNameByProperty(relation.foreignKey) + : relationSchema.getColumnNameByProperty( + `${String.toCamelCase(Model.name)}Id` + ) let whereRaw = `${RelationModel.table()}.${foreignKey} = ${Model.table()}.${primaryKey}` diff --git a/src/models/relations/HasOne/HasOneRelation.ts b/src/models/relations/HasOne/HasOneRelation.ts index 6f18f77..2d1315e 100644 --- a/src/models/relations/HasOne/HasOneRelation.ts +++ b/src/models/relations/HasOne/HasOneRelation.ts @@ -65,15 +65,18 @@ export class HasOneRelation { query: Driver, relation: HasOneOptions ) { - const schema = Model.schema() const RelationModel = relation.model() + const modelSchema = Model.schema() + const relationSchema = RelationModel.schema() - const primaryKey = schema.getMainPrimaryKeyName() - const foreignKey = - schema.getColumnNameByProperty(relation.foreignKey) || - schema.getColumnNameByProperty( - `${String.toCamelCase(RelationModel.name)}Id` - ) + const primaryKey = relation.primaryKey + ? modelSchema.getColumnNameByProperty(relation.primaryKey) + : modelSchema.getMainPrimaryKeyName() + const foreignKey = relation.foreignKey + ? relationSchema.getColumnNameByProperty(relation.foreignKey) + : relationSchema.getColumnNameByProperty( + `${String.toCamelCase(Model.name)}Id` + ) let whereRaw = `${RelationModel.table()}.${foreignKey} = ${Model.table()}.${primaryKey}`