Задать вопрос
@uyshaaaaaa

Не получается создать базу данных dart drift, с чем может быть связано?

Впервые с таким сталкиваюсь, я пытаюсь создать базу данных drift, на моменте
class AppDb extend _$AppDb
выходит ошибка classes can only extend other classes.
Все зависимости указаны, все импорты есть.

import 'dart:io';
import 'package:drift/drift.dart';
import 'package:drift/native.dart';
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart' as path;

class Em extends Table {
  IntColumn get id => integer().autoIncrement()();
  TextColumn get name => text().named('name')();
  TextColumn get lastname => text().named('lastname')();
  DateTimeColumn get dateofbday => dateTime()();
}

LazyDatabase _openConnection() {
  return LazyDatabase(() async {
    final dbFolder = await getApplicationDocumentsDirectory();
    final file = File(path.join(dbFolder.path, 'em.sqlite'));
    return NativeDatabase(file);
  });
}

@DriftDatabase(tables: [Em])
class AppDb extends _$AppDb{
  AppDb(): super(_openConnection());

  @override
  int get schemaVersion => 1;
}
  • Вопрос задан
  • 9 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    Flutter Разработка (2025). От 🐣 базы до 😎 вайб кодинга
    1 месяц
    Далее
  • Merion Academy
    Разработка приложений на Flutter и Dart
    2 месяца
    Далее
  • Merion Academy
    Разработка игр на движке Flutter: Flame
    2 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
Скорее всего не хватает part-директивы — без неё _$AppDb просто не появится, build_runner тут не поможет. Глянь, есть ли наверху файла part 'app_db.g.dart'; с именем как у твоего файла, и гонялся ли вообще
dart run build_runner build --delete-conflicting-outputs
.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы