В моей базе данных MySQL есть две таблицы:
1 Канал таблицы:
CREATE TABLE `channel` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8_bin NOT NULL,
`youtubeId` varchar(255) COLLATE utf8_bin NOT NULL,
`language` int NOT NULL,
`lastUpdatedDate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`createdDate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
KEY `FK_LANGUAGE` (`language`),
CONSTRAINT `FK_LANGUAGE` FOREIGN KEY (`language`) REFERENCES `language` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_bin
И сущность в TypeOrm выглядит следующим образом:
@Entity()
export class Channel {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
youtubeId: string;
@OneToOne((type) => Language)
@Column()
language: Language;
@Column()
lastUpdatedDate: Date;
@Column()
createdDate: Date;
}
2 Table Language
CREATE TABLE `language` (
`id` int NOT NULL AUTO_INCREMENT,
`name` varchar(45) COLLATE utf8_bin DEFAULT NULL,
`code` varchar(45) COLLATE utf8_bin DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
И Entity в TypeORM выглядит следующим образом:
@Entity()
export class Language {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
code: string;
}
ОШИБКА:
Проблема в том, что при запуске моего nodejs сервера я получаю ошибка:
DataTypeNotSupportedError: Тип данных "Language" в "Channel.language" не поддерживается базой данных "mysql".
Я не совсем отлично разбираюсь в базах данных, и я стараюсь изучать TypeORM так, что в настоящее время я нахожусь в ситуации, когда не знаю, испортил ли я что-то в TypeORM или в моей базе данных. Любые советы, которые могут привести меня в правильное русло, более чем приветствуются