В соответствии с этим обсуждением и другие ресурсы доступны для v3 и более ранних версий, но я не могу найти способ добавить внешний ключ напрямую с помощью loopback 4 , чтобы при перенести БД из моделей У меня все еще есть ограничение внешнего ключа.
Вот что у меня есть до сих пор, но я не могу получить внешний ключ после завершения миграции.
Моя модель:
export class TodoList extends Entity {
@hasMany(() => Todo, { keyTo: 'todoListId' })
todos?: Todo[];
@property({
type: 'string',
})
todoListId: number;
Мой репозиторий:
export class TodoListRepository extends DefaultCrudRepository<
TodoList,
typeof TodoList.prototype.id
> {
public readonly todos: HasManyRepositoryFactory<
Todo,
typeof Todo.prototype.id
>;
constructor(
@inject('datasources.todo') dataSource: TodoDataSource,
@repository.getter(TodoRepository)
protected todoRepositoryGetter: Getter<TodoRepository>,
) {
super(TodoList, dataSource);
this.todos = this.createHasManyRepositoryFactoryFor(
'todos',
todoRepositoryGetter,
);
}
}
Я использую MySQL в качестве источника данных. Но когда я запускаю npm run migrate
, внешние ключи не создаются.
Я хочу иметь столбец toDoListId
в качестве внешнего ключа для модели todo.
Вот учебник, которому я следую