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");
return await openDatabase(
path,
version: 1,
version: 2,
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
///
Future<List<Expense>> getExpenses() async {
@ -81,8 +105,11 @@ class DatabaseHelper {
Future<bool> checkExpenseNameExists(String name) async {
Database db = await instance.db;
var expenses = await db.query("expense",
where: "name = ?", whereArgs: [name],);
var expenses = await db.query(
"expense",
where: "name = ?",
whereArgs: [name],
);
return expenses.isNotEmpty;
}