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,21 +24,45 @@ 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,
); );
} }
Future _onCreate(Database db, int version) async { Future _onCreate(Database db, int version) async {
await db.execute(""" await db.execute("""
CREATE TABLE expense CREATE TABLE expense
( id INTEGER PRIMARY KEY
, name TEXT NOT NULL UNIQUE
, cost DOUBLE NOT NULL
, frequency TEXT NOT NULL
, description TEXT
)
""");
}
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 ( id INTEGER PRIMARY KEY
, name TEXT NOT NULL UNIQUE , name TEXT NOT NULL UNIQUE
, cost DOUBLE NOT NULL , revenue DOUBLE NOT NULL
, frequency TEXT NOT NULL , frequency TEXT NOT NULL
, description TEXT , 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
@ -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;
} }