+
+
+
+| Source |
+Description |
+Date |
+Amount |
+
diff --git a/src/main/resources/clearExtraDescriptions.sql b/src/main/resources/clearExtraDescriptions.sql
new file mode 100644
index 0000000..d756d27
--- /dev/null
+++ b/src/main/resources/clearExtraDescriptions.sql
@@ -0,0 +1 @@
+update ${databaseName}.transaction set extra_description = '', regex_id = null
\ No newline at end of file
diff --git a/src/main/resources/createCategoryTable.sql b/src/main/resources/createCategoryTable.sql
new file mode 100644
index 0000000..4c6013f
--- /dev/null
+++ b/src/main/resources/createCategoryTable.sql
@@ -0,0 +1,6 @@
+create table ${databaseName}.category (
+ id int not null primary key auto_increment,
+ parent_category_id int,
+ name text not null,
+ constraint unique key (parent_category_id, name)
+)
diff --git a/src/main/resources/createRegexTable.sql b/src/main/resources/createRegexTable.sql
new file mode 100644
index 0000000..afb364a
--- /dev/null
+++ b/src/main/resources/createRegexTable.sql
@@ -0,0 +1,10 @@
+create table ${databaseName}.regex (
+ id int not null primary key auto_increment,
+ category_id int,
+ regex text not null,
+ flags int,
+ source varchar(32),
+ priority int,
+ description text,
+ year int
+)
diff --git a/src/main/resources/createTransactionRegexTable.sql b/src/main/resources/createTransactionRegexTable.sql
new file mode 100644
index 0000000..987e91d
--- /dev/null
+++ b/src/main/resources/createTransactionRegexTable.sql
@@ -0,0 +1,5 @@
+create table ${databaseName}.transaction_regex_mtm (
+ regex_id int not null,
+ transaction_id int not null,
+ primary key (transaction_id, regex_id)
+)
\ No newline at end of file
diff --git a/src/main/resources/createTransactionTable.sql b/src/main/resources/createTransactionTable.sql
new file mode 100644
index 0000000..3e8974e
--- /dev/null
+++ b/src/main/resources/createTransactionTable.sql
@@ -0,0 +1,12 @@
+create table ${databaseName}.transaction (
+ id int not null primary key auto_increment,
+ source varchar(32),
+ unique_identifier varchar(64),
+ type varchar(64),
+ description text,
+ extra_description text,
+ date date,
+ amount decimal(10,2),
+ optional int default 0,
+ regex_id int
+)
diff --git a/src/main/resources/createYearsTable.sql b/src/main/resources/createYearsTable.sql
new file mode 100644
index 0000000..d0a14cd
--- /dev/null
+++ b/src/main/resources/createYearsTable.sql
@@ -0,0 +1,3 @@
+create table ${databaseName}.years (
+ year int not null primary key
+)
diff --git a/src/main/resources/findTable.sql b/src/main/resources/findTable.sql
new file mode 100644
index 0000000..51345d8
--- /dev/null
+++ b/src/main/resources/findTable.sql
@@ -0,0 +1 @@
+select table_rows from information_schema.tables where table_schema = ? and table_name = ?
\ No newline at end of file
diff --git a/src/main/resources/getCategories.sql b/src/main/resources/getCategories.sql
new file mode 100644
index 0000000..b584f9e
--- /dev/null
+++ b/src/main/resources/getCategories.sql
@@ -0,0 +1,5 @@
+select
+id,
+parent_category_id,
+name
+from ${databaseName}.category
\ No newline at end of file
diff --git a/src/main/resources/getChase.sql b/src/main/resources/getChase.sql
new file mode 100644
index 0000000..a89c2c7
--- /dev/null
+++ b/src/main/resources/getChase.sql
@@ -0,0 +1,8 @@
+select
+transaction_date,
+description,
+category,
+type,
+amount
+from ${databaseName}.chase
+
diff --git a/src/main/resources/getChildCategoryId.sql b/src/main/resources/getChildCategoryId.sql
new file mode 100644
index 0000000..57b7dd7
--- /dev/null
+++ b/src/main/resources/getChildCategoryId.sql
@@ -0,0 +1 @@
+select id from ${databaseName}.category where name = ? and parent_category_id = ?
\ No newline at end of file
diff --git a/src/main/resources/getCiti.sql b/src/main/resources/getCiti.sql
new file mode 100644
index 0000000..db1e756
--- /dev/null
+++ b/src/main/resources/getCiti.sql
@@ -0,0 +1,7 @@
+select
+status,
+date,
+description,
+debit,
+credit
+from ${databaseName}.citi
\ No newline at end of file
diff --git a/src/main/resources/getDigitalOrders.sql b/src/main/resources/getDigitalOrders.sql
new file mode 100644
index 0000000..32a6b1e
--- /dev/null
+++ b/src/main/resources/getDigitalOrders.sql
@@ -0,0 +1,15 @@
+select
+m.monetary_component_type_code as type,
+i.${productNameCol} as name,
+i.digital_order_item_id as order_id,
+i.order_date as date,
+sum(m.transaction_amount) as amount
+from ${databaseName}.${digOrdItems} i
+left outer join ${databaseName}.${digOrders} o on o.order_id = i.order_id
+left outer join ${databaseName}.${digOrdersMonetary} m on m.digital_order_item_id = i.digital_order_item_id
+group by
+i.${productNameCol},
+i.digital_order_item_id,
+i.order_date,
+m.monetary_component_type_code
+
diff --git a/src/main/resources/getDigitalReturns.sql b/src/main/resources/getDigitalReturns.sql
new file mode 100644
index 0000000..49a5bc9
--- /dev/null
+++ b/src/main/resources/getDigitalReturns.sql
@@ -0,0 +1,14 @@
+select
+m.monetary_component_type as type,
+i.${productNameCol} as name,
+i.digital_order_item_id as order_id,
+i.order_date as date,
+-sum(m.transaction_amount) as amount
+from ${databaseName}.${digOrdItems} i
+inner join ${databaseName}.${digOrdReturnsMonetary} m on m.digital_order_item_id = i.digital_order_item_id
+group by
+i.${productNameCol},
+i.digital_order_item_id,
+i.order_date,
+m.monetary_component_type
+
diff --git a/src/main/resources/getDiscover.sql b/src/main/resources/getDiscover.sql
new file mode 100644
index 0000000..02c1d94
--- /dev/null
+++ b/src/main/resources/getDiscover.sql
@@ -0,0 +1,7 @@
+select
+trans_date,
+post_date,
+description,
+amount,
+category
+from ${databaseName}.discover
\ No newline at end of file
diff --git a/src/main/resources/getFirstBank.sql b/src/main/resources/getFirstBank.sql
new file mode 100644
index 0000000..e0dc4da
--- /dev/null
+++ b/src/main/resources/getFirstBank.sql
@@ -0,0 +1,6 @@
+select
+date,
+description,
+type,
+amount
+from ${databaseName}.first_bank
\ No newline at end of file
diff --git a/src/main/resources/getPaypal.sql b/src/main/resources/getPaypal.sql
new file mode 100644
index 0000000..172ce8f
--- /dev/null
+++ b/src/main/resources/getPaypal.sql
@@ -0,0 +1,13 @@
+select
+date,
+time,
+time_zone,
+name,
+type,
+status,
+currency,
+amount,
+receipt_id,
+balance
+from ${databaseName}.paypal
+
diff --git a/src/main/resources/getRegexes.sql b/src/main/resources/getRegexes.sql
new file mode 100644
index 0000000..cc2031e
--- /dev/null
+++ b/src/main/resources/getRegexes.sql
@@ -0,0 +1,10 @@
+select
+id,
+category_id,
+regex,
+flags,
+source,
+priority,
+description,
+year
+from ${databaseName}.regex
\ No newline at end of file
diff --git a/src/main/resources/getRetailOrders.sql b/src/main/resources/getRetailOrders.sql
new file mode 100644
index 0000000..e7e1b7b
--- /dev/null
+++ b/src/main/resources/getRetailOrders.sql
@@ -0,0 +1,8 @@
+select
+website as website,
+product_name as name,
+order_id as order_id,
+date(order_date) as date,
+total_owed as amount
+from ${databaseName}.${retailOrders} o
+
diff --git a/src/main/resources/getRootCategoryId.sql b/src/main/resources/getRootCategoryId.sql
new file mode 100644
index 0000000..d7aab50
--- /dev/null
+++ b/src/main/resources/getRootCategoryId.sql
@@ -0,0 +1 @@
+select id from ${databaseName}.category where name = ? and parent_category_id is null
\ No newline at end of file
diff --git a/src/main/resources/getTransactionDescriptions.sql b/src/main/resources/getTransactionDescriptions.sql
new file mode 100644
index 0000000..5b4fdc0
--- /dev/null
+++ b/src/main/resources/getTransactionDescriptions.sql
@@ -0,0 +1,3 @@
+select t.id, t.date, t.source, t.description, t.amount
+from ${databaseName}.transaction t
+where t.regex_id is null
\ No newline at end of file
diff --git a/src/main/resources/getYears.sql b/src/main/resources/getYears.sql
new file mode 100644
index 0000000..4b36ede
--- /dev/null
+++ b/src/main/resources/getYears.sql
@@ -0,0 +1,3 @@
+select
+year
+from ${databaseName}.years
\ No newline at end of file
diff --git a/src/main/resources/insertChildCategory.sql b/src/main/resources/insertChildCategory.sql
new file mode 100644
index 0000000..e55d482
--- /dev/null
+++ b/src/main/resources/insertChildCategory.sql
@@ -0,0 +1 @@
+insert into ${databaseName}.category (name, parent_category_id) values (?, ?)
\ No newline at end of file
diff --git a/src/main/resources/insertRegex.sql b/src/main/resources/insertRegex.sql
new file mode 100644
index 0000000..59b3246
--- /dev/null
+++ b/src/main/resources/insertRegex.sql
@@ -0,0 +1,9 @@
+insert into ${databaseName}.regex (
+ category_id,
+ regex,
+ flags,
+ source,
+ priority,
+ description,
+ year
+) values (?, ?, ?, ?, ?, ?, ?)
\ No newline at end of file
diff --git a/src/main/resources/insertRootCategory.sql b/src/main/resources/insertRootCategory.sql
new file mode 100644
index 0000000..9801091
--- /dev/null
+++ b/src/main/resources/insertRootCategory.sql
@@ -0,0 +1 @@
+insert into ${databaseName}.category (name) values (?)
\ No newline at end of file
diff --git a/src/main/resources/insertTransaction.sql b/src/main/resources/insertTransaction.sql
new file mode 100644
index 0000000..2f686c6
--- /dev/null
+++ b/src/main/resources/insertTransaction.sql
@@ -0,0 +1,8 @@
+insert into ${databaseName}.transaction (
+ source,
+ unique_identifier,
+ type,
+ description,
+ date,
+ amount
+) values (?, ?, ?, ?, ?, ?)
\ No newline at end of file
diff --git a/src/main/resources/insertTransactionRegex.sql b/src/main/resources/insertTransactionRegex.sql
new file mode 100644
index 0000000..a5430b7
--- /dev/null
+++ b/src/main/resources/insertTransactionRegex.sql
@@ -0,0 +1 @@
+insert into ${databaseName}.transaction_regex_mtm (regex_id, transaction_id) values (?, ?)
\ No newline at end of file
diff --git a/src/main/resources/insertYear.sql b/src/main/resources/insertYear.sql
new file mode 100644
index 0000000..bcc8e43
--- /dev/null
+++ b/src/main/resources/insertYear.sql
@@ -0,0 +1,3 @@
+insert into ${databaseName}.years (
+ year
+) values (?)
\ No newline at end of file
diff --git a/src/main/resources/setExtraDescription.sql b/src/main/resources/setExtraDescription.sql
new file mode 100644
index 0000000..3e3337e
--- /dev/null
+++ b/src/main/resources/setExtraDescription.sql
@@ -0,0 +1 @@
+update ${databaseName}.transaction set extra_description = ? where id = ?
\ No newline at end of file
diff --git a/src/main/resources/updateRegexLink.sql b/src/main/resources/updateRegexLink.sql
new file mode 100644
index 0000000..e9e0fbe
--- /dev/null
+++ b/src/main/resources/updateRegexLink.sql
@@ -0,0 +1 @@
+update ${databaseName}.transaction set regex_id = ? where id = ?
\ No newline at end of file
|