-
I'm new to adonis. I was trying to create Factories using two Models export default class Usuario extends BaseModel {
public static table = 'USUARIO'
@column({ isPrimary: true })
public id: number
@column()
public nome: string
@hasMany(() => Conta)
public contas: HasMany<typeof Conta>
} export default class Conta extends BaseModel {
public static table = 'CONTA'
@column({ isPrimary: true })
public id: number
@column()
public nome: string
@column({ columnName: 'idUsuario' })
public idUsuario: number
@belongsTo(() => Usuario)
public usuario: BelongsTo<typeof Usuario>
} export const ContaFactory = Factory
.define(Conta, ({ faker }) => ({
nome: faker.finance.accountName()
}))
.build()
export const UsuarioFactory = Factory
.define(Usuario, ({ faker }) => ({
nome: faker.name.firstName()
}))
.relation('contas', () => ContaFactory)
.build()
But when a try to run my factory inside a seeder: export default class DatabaseSeeder extends BaseSeeder {
public async run() {
await UsuarioFactory.with("contas", 1, conta => conta)
}
}
How can i override these naming strategies? how can say to Lucid that I'm using "idUsuario" instead of "usuarioId"? I would appreciate some tips for overriding other things in Lucid... |
Beta Was this translation helpful? Give feedback.
Answered by
guntribam
Aug 22, 2020
Replies: 1 comment
-
Just found one answer in the docs, sorry: export default class Usuario extends BaseModel {
public static table = 'USUARIO'
@column({ isPrimary: true })
public id: number
@column()
public nome: string
@hasMany(() => Conta, {foreignKey: 'idUsuario'})
public contas: HasMany<typeof Conta>
} |
Beta Was this translation helpful? Give feedback.
0 replies
Answer selected by
guntribam
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Just found one answer in the docs, sorry: