Source code for passengersim.database.write_demands

from __future__ import annotations

from passengersim_core import SimulationEngine

from passengersim.database import Database


[docs] def save_demand_to_database(cnx: Database, sim: SimulationEngine, dcp: int): """Write simulation demands to the database.""" data_list = [] for dmd in sim.demands: data_list.append( ( sim.name, sim.iteration, sim.trial, sim.sample, dcp, dmd.orig, dmd.dest, dmd.segment, dmd.scenario_demand, dmd.sold, dmd.revenue, ) ) cursor = cnx.cursor() sql = """ INSERT INTO demand_detail ( scenario, -- 1 iteration, -- 2 trial, -- 3 sample, -- 4 days_prior, -- 5 orig, -- 6 dest, -- 7 segment, -- 8 sample_demand, -- 9 sold, -- 10 revenue -- 11 ) VALUES """ + cnx.sql_placeholders(11) cursor.executemany(sql, data_list)