diff options
Diffstat (limited to 'lib/database/helper.dart')
-rw-r--r-- | lib/database/helper.dart | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/lib/database/helper.dart b/lib/database/helper.dart index e684ee0..328ccf0 100644 --- a/lib/database/helper.dart +++ b/lib/database/helper.dart @@ -3,12 +3,13 @@ import 'dart:io'; // ignore: depend_on_referenced_packages import 'package:path/path.dart'; import 'package:path_provider/path_provider.dart'; +import 'package:pmsna1/models/event.dart'; import 'package:pmsna1/models/post.dart'; import 'package:sqflite/sqflite.dart'; class DatabaseHelper { static const dbName = "tecstagram.sql"; - static const dbVersion = 1; + static const dbVersion = 2; static Database? _database; @@ -21,6 +22,9 @@ class DatabaseHelper { dbDir, version: dbVersion, onCreate: _onCreate, + onUpgrade: ((db, oldVersion, newVersion) { + _onCreate(db, newVersion); + }), ); return _database!; } @@ -28,11 +32,18 @@ class DatabaseHelper { Future<Database> get database async => _database ?? await _initDatabase(); static void _onCreate(Database db, int version) async { - await db.execute("""CREATE TABLE posts ( + await db.execute("""CREATE TABLE IF NOT EXISTS posts ( id INTEGER PRIMARY KEY, - description VARCHAR(500), - date DATE + description VARCHAR(500) NOT NULL, + date DATE NOT NULL );"""); + + await db.execute("""CREATE TABLE IF NOT EXISTS events ( + id INTEGER PRIMARY KEY, + description VARCHAR(500), + date DATE NOT NULL, + completed INT DEFAULT 0 + """); } Future<int> insert(String table, Map<String, dynamic> data) async { @@ -69,4 +80,13 @@ class DatabaseHelper { List<Map<String, Object?>> result = await conn.query("posts"); return result.map((post) => Post.fromMap(post)).toList(); } + + /* + * Event specific functions + */ + Future<List<Event>> getAllEvent() async { + Database conn = await database; + List<Map<String, Object?>> result = await conn.query("events"); + return result.map((event) => Event.fromMap(event)).toList(); + } } |