Create the income and asset tables.

This commit is contained in:
Hyperling 2025-02-11 14:49:50 -07:00
parent fcf4fca33b
commit 8e6b574023

View File

@ -24,8 +24,9 @@ class DatabaseHelper {
String path = join(documentsDirectory.path, "com_hyperling_expense.db"); String path = join(documentsDirectory.path, "com_hyperling_expense.db");
return await openDatabase( return await openDatabase(
path, path,
version: 1, version: 2,
onCreate: _onCreate, onCreate: _onCreate,
onUpgrade: _onUpgrade,
); );
} }
@ -41,6 +42,29 @@ class DatabaseHelper {
"""); """);
} }
Future _onUpgrade(Database db, int previousVersion, int newVersion) async {
// Added in DB version 2.
if (previousVersion < 2 && newVersion >= 2) {
await db.execute("""
CREATE TABLE income
( id INTEGER PRIMARY KEY
, name TEXT NOT NULL UNIQUE
, revenue DOUBLE NOT NULL
, frequency TEXT NOT NULL
, description TEXT
)
""");
await db.execute("""
CREATE TABLE asset
( id INTEGER PRIMARY KEY
, name TEXT NOT NULL UNIQUE
, amount DOUBLE NOT NULL
, description TEXT
)
""");
}
}
/// Expense Section /// Expense Section
/// ///
Future<List<Expense>> getExpenses() async { Future<List<Expense>> getExpenses() async {
@ -81,8 +105,11 @@ class DatabaseHelper {
Future<bool> checkExpenseNameExists(String name) async { Future<bool> checkExpenseNameExists(String name) async {
Database db = await instance.db; Database db = await instance.db;
var expenses = await db.query("expense", var expenses = await db.query(
where: "name = ?", whereArgs: [name],); "expense",
where: "name = ?",
whereArgs: [name],
);
return expenses.isNotEmpty; return expenses.isNotEmpty;
} }