import 'package:sqflite/sqflite.dart'; import 'package:path/path.dart'; class DatabaseHelper { static const _databaseName = 'jay_world_app.db'; static const _databaseVersion = 1; static const challengeTable = 'challenges'; static const columnId = 'id'; static const columnTitle = 'title'; // 其他字段... static Database? _database; Future get database async { if (_database != null) return _database!; _database = await _initDatabase(); return _database!; } Future _initDatabase() async { final path = join(await getDatabasesPath(), _databaseName); // await deleteDatabase(path); print("===== xxxxxx ======"); return await openDatabase( path, version: _databaseVersion, onCreate: _onCreate, ); } Future _onCreate(Database db, int version) async { await db.execute(''' CREATE TABLE $challengeTable ( $columnId INTEGER PRIMARY KEY AUTOINCREMENT, $columnTitle TEXT NOT NULL, action_type INTEGER NOT NULL, description TEXT NOT NULL, cover TEXT NOT NULL, sort INTEGER NOT NULL, status INTEGER NOT NULL, difficulty INTEGER NOT NULL, remark TEXT NOT NULL, start_date INTEGER, end_date INTEGER, finish_date INTEGER, plan_finish_date INTEGER, parent_id INTEGER NOT NULL ); '''); } }