я в таблице поменял связь с OneToOne на OneToMany и когда я сгенерил миграцию мне пишется ошибка Error:
Cannot drop index 'REL_a4f3cb1b950608959ba75e8df3': needed in a foreign key constraint
Я так понял это связанно с тем что в таблице есть данные которые имеют индексы. А как тогда делать миграцию не потеряв данные?
Попробуйте дропнуть FK потом индекс (если он не дропнется с FK)
Спасибо, попробую
советую поптренироваться на тестовых данных
Нет, это связано с тем что индекс создан под fk constraint и им используется. Надо удалять fk
Ну вот к примеру таблица car и user. для теста взял свзяь один(пользак)-ко-многим(машинам). @OneToMany(() => CarEntity, (car) => car.user) cars: CarEntity[]; много(машин)-к-одному(пользаку). @ManyToOne(() => UserEntity, (user) => user.cars, { nullable: false }) @JoinColumn() user: UserEntity; typeorm создал связь и определил индексы для таблицы car - INDEX userId (FK_a4f3cb1b950608959ba75e8df36). поменял свзязь у таблиц на один-к-одному car @OneToOne(() => UserEntity, (user) => user.car, { nullable: false }) @JoinColumn() user: UserEntity; user @OneToOne(() => CarEntity, (car) => car.user) car: CarEntity; Запускаю генерацию миграции. А затем стартую миграцию. Вижу в таблице car что создались два индекса как UNIQUE. По моему это не правильно. Это норм или не норм? Может я что то не так делаю? В миграции вроде прописано чтобы дропался старый INDEX..
Ты если хочешь про СУБД разговаривать, шли SQL DDL и может запросы. А если про ORM - шли это в чат по этому ОРМ. Что я должен с этой филькиной грамотой делать?
Еще зачем-то две картинки одинаковые прислал зачем-то...
Обсуждают сегодня