Возможно, об этом уже спрашивали, но ответы, которые я нашел, не помогли мне, поэтому я надеюсь, что кто-то мне поможет:)
В последнее время я пытался засеять свою базу данных, но я застрял в одной проблеме ... я продолжал получать эту ошибку: TypeError: не могу прочитать свойство 'name' неопределенного
Глубоко копая, я вроде как обнаружил ошибку, но, поскольку я новичок в этом мире, я не мог исправить это самостоятельно ..
Моя фабрика. js
const Factory = use('Factory')
Factory.blueprint('App/Models/User', async faker => {`
return {`
name: faker.first(),
surname: faker.last(),
email: faker.email({ domain: 'somedomain.br' }),
password: 'secret'
}
})
Мой ClientSeeder. js
class ClientSeeder {
async run() {
const role = await Role.findBy('slug', 'client')
console.log(role);
const clients = await Factory.model('App/Models/User').createMany(30)
await Promise.all(clients.map(async client => {
await clients.roles().attach([role.id])
}))
[...]
Ошибка, которую я получаю
TypeError: Cannot read property 'name' of undefined
at Factory.model (/mnt/c/wamp64/www/ecommerce/node_modules/@adonisjs/lucid/src/Factory/index.js:97:39)
at ClientSeeder.run (/mnt/c/wamp64/www/ecommerce/database/seeds/0002_ClientSeeder.js:24:35)
at async SeedDatabase.handle (/mnt/c/wamp64/www/ecommerce/node_modules/@adonisjs/lucid/commands/Seed.js:135:11)
at async /mnt/c/wamp64/www/ecommerce/node_modules/@adonisjs/ace/src/Command/index.js:565:26
Это та часть, где я говорю, что копал: В node_modules/@adonisjs/lucid/src/Factory/index.js:97:39
прямо на 97: 39
model(name) {
console.log(`Valor saindo: ${name}`);
const blueprint = this.getBlueprint(name)
console.log(`CHEGOU AQUI O BLUEPRINT ${blueprint}`);
return new ModelFactory(blueprint.name, blueprint.callback)
}
//console.log(name) returns 'App/Models/User'
//console.log(blueprint) returns undefined;
Теперь, в getBlueprint ()
getBlueprint(name) {
console.log(`Nome retornado: ${name}`);
let bp = this._blueprints.find((blueprint) => blueprint.name === name)
console.log(`O BP DESSA PORRA É ${bp}`);
return
}
//console.log(name) returns 'App/Models/User'
//console.log(bp) returns 'undefined'
Кто-нибудь знает, что происходит?
Версия пакета
"@adonisjs/ace": "^5.0.8",
"@adonisjs/auth": "^3.0.7",
"@adonisjs/bodyparser": "^2.0.5",
"@adonisjs/cors": "^1.0.7",
"@adonisjs/fold": "^4.0.9",
"@adonisjs/framework": "^5.0.9",
"@adonisjs/ignitor": "^2.0.8",
"@adonisjs/lucid": "^6.1.3",
"@adonisjs/mail": "^3.0.10",
"@adonisjs/validator": "^5.0.6",
"@adonisjs/websocket": "^1.0.12",
"adonis-acl": "^1.1.1",
"adonis-bumblebee": "^2.2.0",
"mysql": "^2.18.1"
Миграции / Пользователи. js
class UserSchema extends Schema {
up() {
this.create('users', (table) => {
table.increments()
table.string('name', 80).notNullable()
table.string('surname', 80).notNullable()
table.string('email', 254).notNullable().unique()
table.string('password', 60).notNullable()
table.integer('image_id').unique().unsigned()
table.timestamps()
})
}
down() {
this.drop('users')
}
}
Node.js и npm версия
Узел: v14.1.0
npm: 6.14.7