TypeORM (MySQL) Не удается создать отношения ManyToOne/OneToMany

Я слежу за документацией от TypeORM напрямую здесь.

Сущность и отношения, которые я пытаюсь создать, следующие:

ОтчетыОбъект
@Entity({name: "reports"})
export class ReportsEntity {
    @PrimaryGeneratedColumn('uuid')
    uuid: string;

    @PrimaryColumn()
    @ManyToOne(() => ApplicationsEntity, (application) => application.reports)
    application: ApplicationsEntity

    @Column()
    description: string

    @Column({ type: 'timestamp' })
    @CreateDateColumn()
    createdAt: Date;

    @Column({ type: 'timestamp' })
    @UpdateDateColumn()
    updatedAt: Date;
}
ПриложенияСущность
@Entity({name: "applications"})
export class ApplicationsEntity {
    @PrimaryGeneratedColumn('uuid')
    uuid: string;

    @Column()
    name: string;

    @Column()
    description: string;

    @Column({ type: 'timestamp' })
    @CreateDateColumn()
    createdAt: Date;

    @Column({ type: 'timestamp' })
    @UpdateDateColumn()
    updatedAt: Date;

    //Relationships
    @OneToMany(() => ReportsEntity, (report) => report.application)
    reports: ReportsEntity[]
}

Однако при запуске я получаю следующую ошибку от MySQL:

Data type "Object" in "ReportsEntity.application" is not supported by "mysql" database.

Я не вижу, что я упустил или что я делаю неправильно, когда просматриваю и сравниваю документацию.

Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
0
88
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

удалите @PrimaryColumn() над @ManyToOne, потому что он пытается создать столбец с объектом типа данных «ApplicationsEntity», который не поддерживается mysql

ОтчетыОбъект

 @ManyToOne(() => ApplicationsEntity, (application) => application.reports)
    application: ApplicationsEntity

ПриложенияСущность

 @OneToMany(() => ReportsEntity, (report) => report.application)
    reports: ReportsEntity[]

Другие вопросы по теме