30 lines
983 B
Bash
Executable File
30 lines
983 B
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ "$#" -ne 1 ]; then
|
|
echo "Usage: $0 [/path/to/db/database].db";
|
|
exit 1;
|
|
fi
|
|
|
|
echo "Creating database file $1...";
|
|
touch "$1";
|
|
if ! [ -f "$1" ]; then
|
|
echo "Cannot open or create database file $1, aborting.";
|
|
exit 1;
|
|
fi
|
|
|
|
TABLE_NAME="SolarPanelOutput";
|
|
|
|
echo "Creating table $TABLE_NAME...";
|
|
sqlite3 $1 "CREATE TABLE IF NOT EXISTS $TABLE_NAME (Date TEXT NOT NULL, TimeUtc TEXT NOT NULL, Watts INTEGER NOT NULL, KilowattHour REAL NOT NULL);";
|
|
|
|
echo "Creating indexes on table $TABLE_NAME...";
|
|
sqlite3 $1 "CREATE INDEX IF NOT EXISTS idx_Date ON $TABLE_NAME (Date);"
|
|
sqlite3 $1 "CREATE INDEX IF NOT EXISTS idx_TimeUtc ON $TABLE_NAME (TimeUtc);"
|
|
|
|
TABLE2_NAME="SolarPanelSummary";
|
|
|
|
echo "Creating table $TABLE2_NAME...";
|
|
sqlite3 $1 "CREATE TABLE IF NOT EXISTS $TABLE2_NAME (Date TEXT NOT NULL UNIQUE, Kilowatthour REAL NOT NULL);"
|
|
|
|
echo "Creating indexes on table $TABLE2_NAME";
|
|
sqlite3 $1 "CREATE UNIQUE INDEX IF NOT EXISTS idx_Date_$TABLE2_NAME on $TABLE2_NAME (Date);" |