DROP TABLE IF EXISTS periods; DROP TABLE IF EXISTS reports; CREATE TABLE "periods" ( "id" Integer NOT NULL PRIMARY KEY AUTOINCREMENT, "report_id" Integer NOT NULL, "period_number" Integer NOT NULL, "start_time" DateTime NOT NULL, "end_time" DateTime NOT NULL, "is_daytime" Integer NOT NULL, "temperature" Integer NOT NULL, "temperature_unit" Text NOT NULL DEFAULT 'F', "precipitation_probability" Integer, "dewpoint_celsius" Numeric, "relative_humidity" Integer, "wind_speed" Text, "wind_direction" Text, "icon_url" Text, "short_forecast" Text, "detailed_forecast" Text, "created_at" DateTime, "updated_at" DateTime, CONSTRAINT "periods_reports_CASCADE_NO ACTION_report_id_id_0" FOREIGN KEY ( "report_id" ) REFERENCES "reports"( "id" ) ON DELETE Cascade ); CREATE INDEX "periods_report_id_start_time_index" ON "periods"( "report_id", "start_time" ); CREATE TABLE "reports" ( "id" Integer NOT NULL PRIMARY KEY AUTOINCREMENT, "type" Text NOT NULL, "reported_at" DateTime NOT NULL, "generated_at" DateTime NOT NULL, "latitude" Numeric NOT NULL, "longitude" Numeric NOT NULL, "elevation_meters" Numeric, "created_at" DateTime, "updated_at" DateTime, CONSTRAINT "check ""type"" in ('hourly', 'weekly')" CHECK ("type" in ('hourly', 'weekly')) ); CREATE INDEX "reports_type_reported_at_index" ON "reports"( "type", "reported_at" ); CREATE UNIQUE INDEX "reports_type_reported_at_unique" ON "reports"( "type", "reported_at" );