Which to pick
Neither is more supported than the other.
fireflo import moves between them.
Moving files into the database
rates.conf, routingTable.conf and credentials.yml with the parsers the gateway
already uses, so nobody hand-writes INSERT statements over a decimal place or a password.
Run the dry run and read it. It classifies every rate scope as a vendor cost or an account price
and names the ones it can classify as neither — which is how a scope that will load and silently
match nothing gets caught before it does.
all (the default), rates, routing, credentials.
Importing changes nothing by itself
The gateway keeps reading the files until it restarts withFIREFLO_CONFIG_SOURCE=db. That is also
the rollback, so keep the files.
--replace overwrites the scopes and tables the file names; anything it does not name is left alone
unless you also pass --prune.
Exit codes
That split is what lets a deploy pipeline tell a missing flag from a broken migration.
What changes once you are in db mode
- Every file watcher stands down.
credentials.yml,routingTable.confandrates.confare not read after startup. smsg.propertiesis still read at startup, because the source switch and the datasource have to come from somewhere.- A change takes up to one poll interval; a failed read retains the previous configuration rather than blanking it.
- Editing
app_configretunes running workers —tps,maxRetries,pause, registered TLVs — and settingoutSms.instance.<x>.enableto false stops that vendor within one interval. - Deleting a row reverts the key to the next tier, not to unset.
fireflo reload when you do not want to wait for the poll.