Library (version 1.2.1): https://pub.dev/packages/sqflite
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
sqflite: ^1.2.1
init() async {
var databasesPath = await getDatabasesPath();
String path = join(databasesPath, DB_NAME);
_database = await openDatabase(
path,
onCreate: (db, version) {
initScript.forEach((script) async => await db.execute(script));
},
version: DB_VERSION,
);
}
...
With initScript
:
static const initScript = [TodoTable.CREATE_TABLE_QUERY];
static const TABLE_NAME = 'todo';
static const CREATE_TABLE_QUERY = '''
CREATE TABLE $TABLE_NAME (
id INTEGER PRIMARY KEY,
content TEXT
);
''';
void main() async {
// Init DB
WidgetsFlutterBinding.ensureInitialized();
await TodoDatabase.instance.init();
runApp(MyApp());
}
...