V 1.5.9 feat: Spalte 'source' (loop/archive/wview) in weather_data
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@ load_dotenv(dotenv_path=env_path)
|
||||
# Konfiguration
|
||||
SQLITE_DB = "data/wview-archive.sdb"
|
||||
START_DATE = datetime(2025, 1, 1, 0, 0, 0, tzinfo=timezone.utc)
|
||||
END_DATE = datetime(2026, 2, 8, 0, 0, 0, tzinfo=timezone.utc)
|
||||
END_DATE = datetime(2026, 3, 23, 0, 0, 0, tzinfo=timezone.utc)
|
||||
|
||||
# PostgreSQL-Konfiguration
|
||||
DB_HOST = os.getenv('DB_HOST', 'localhost')
|
||||
@@ -96,6 +96,41 @@ def main():
|
||||
sqlite_conn.close()
|
||||
sys.exit(1)
|
||||
|
||||
# Tabelle anlegen falls nicht vorhanden
|
||||
try:
|
||||
pg_cursor.execute("""
|
||||
CREATE TABLE IF NOT EXISTS weather_data (
|
||||
id SERIAL PRIMARY KEY,
|
||||
datetime TIMESTAMPTZ NOT NULL,
|
||||
temperature FLOAT,
|
||||
humidity INTEGER,
|
||||
pressure FLOAT,
|
||||
wind_speed FLOAT,
|
||||
wind_gust FLOAT,
|
||||
wind_dir FLOAT,
|
||||
rain FLOAT,
|
||||
rain_rate FLOAT,
|
||||
temp_in FLOAT,
|
||||
humidity_in INTEGER,
|
||||
forecast INTEGER,
|
||||
bar_trend INTEGER,
|
||||
source VARCHAR,
|
||||
received_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
UNIQUE(datetime)
|
||||
)
|
||||
""")
|
||||
pg_cursor.execute(
|
||||
"CREATE INDEX IF NOT EXISTS idx_weather_datetime_desc "
|
||||
"ON weather_data (datetime DESC)"
|
||||
)
|
||||
pg_conn.commit()
|
||||
print("✓ Tabelle weather_data bereit")
|
||||
except Exception as e:
|
||||
print(f"✗ Fehler beim Anlegen der Tabelle: {e}")
|
||||
sqlite_conn.close()
|
||||
pg_conn.close()
|
||||
sys.exit(1)
|
||||
|
||||
# Tabelle leeren falls gewünscht
|
||||
if TRUNCATE_TABLE:
|
||||
print("\nLeere PostgreSQL-Tabelle weather_data...")
|
||||
@@ -163,13 +198,13 @@ def main():
|
||||
|
||||
# In PostgreSQL einfügen
|
||||
pg_cursor.execute("""
|
||||
INSERT INTO weather_data
|
||||
(datetime, temperature, humidity, pressure,
|
||||
wind_speed, wind_gust, wind_dir, rain, rain_rate)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
INSERT INTO weather_data
|
||||
(datetime, temperature, humidity, pressure,
|
||||
wind_speed, wind_gust, wind_dir, rain, rain_rate, source)
|
||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
ON CONFLICT (datetime) DO NOTHING
|
||||
""", (dt, temp_c, humidity, pressure_hpa,
|
||||
wind_speed_kmh, wind_gust_kmh, windDir, rain_mm, rain_rate_mm))
|
||||
""", (dt, temp_c, humidity, pressure_hpa,
|
||||
wind_speed_kmh, wind_gust_kmh, windDir, rain_mm, rain_rate_mm, 'wview'))
|
||||
|
||||
if pg_cursor.rowcount > 0:
|
||||
inserted += 1
|
||||
|
||||
Reference in New Issue
Block a user