Create the income and asset tables.
This commit is contained in:
parent
fcf4fca33b
commit
8e6b574023
37
lib/db.dart
37
lib/db.dart
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user