Ссылка на ошибочный внешний ключ - PullRequest
0 голосов
/ 20 марта 2020

Мне нужна ваша помощь, пожалуйста, я создаю приложение для дел с флаттером, используя moor в качестве базы данных, я создал три таблицы в моей базе данных, но только две обеспокоены моей проблемой, они tasks и projects . При попытке вставить новое задание я получил эту ошибку

Произошло исключение. SqliteException (SqliteException: несоответствие внешнего ключа - «задачи», ссылающиеся на «проекты», SQL logi c ошибка)

Есть моя таблица проекта

class Projects extends Table {
     IntColumn get id => integer().autoIncrement()();
     IntColumn get tasksNumber => integer()();
     TextColumn get projectName => text().withLength(min: 2, max: 32)();
     TextColumn get description => text().withLength(min: 2, max: 35)();
     DateTimeColumn get dateAndTime =>dateTime().withDefault(Constant(DateTime.now()))();
     BoolColumn get isCompleted => boolean().withDefault(Constant(false))();
     @override
     Set<Column> get primaryKey => {id, projectName};
}

И Задача первая:

class Tasks extends Table {
     IntColumn get id => integer().autoIncrement()();
     TextColumn get project =>text().customConstraint('REFERENCES projects(projectName)')();
     TextColumn get taskName => text().withLength(min: 2, max: 32)();
     DateTimeColumn get dateAndTime =>dateTime().withDefault(Constant(DateTime.now()))();
     BoolColumn get isDone => boolean().withDefault(Constant(false))();
     @override
     Set<Column> get primaryKey => {id, taskName, project};
}

Спасибо за помощь

...