forked from iarv/meshview
* Add alembic DB schema management (#86) * Use alembic * add creation helper * example migration tool * Store UTC int time in DB (#81) * use UTC int time * Remove old index notes script -- no longer needed * modify alembic to support cleaner migrations * add /version json endpoint * move technical docs * remove old migrate script * add readme in docs: * more doc tidy * rm * update api docs * ignore other database files * health endpoint * alembic log format * break out api calls in to their own file to reduce footprint * ruff and docs * vuln * Improves arguments in mvrun.py * Set dbcleanup.log location configurable * mvrun work * fallback if missing config * remove unused loop * improve migrations and fix logging problem with mqtt * Container using slim/uv * auto build containers * symlink * fix symlink * checkout and containerfile * make /app owned by ap0p * Traceroute Return Path logged and displayed (#97) * traceroute returns are now logged and /packetlist now graphs the correct data for a return route * now using alembic to update schema * HOWTO - Alembic --------- Co-authored-by: Joel Krauska <jkrauska@gmail.com> * DB Backups * backups and cleanups are different * ruff * Docker Docs * setup-dev * graphviz for dot in Container * Summary of 3.0.0 stuff * Alembic was blocking mqtt logs * Add us first/last timestamps to node table too * Worked on /api/packet. Needed to modify - Store.py to read the new time data - api.py to present the new time data - firehose.html chat.html and map.html now use the new apis and the time is the browser local time * Worked on /api/packet. Needed to modify - Store.py to read the new time data - api.py to present the new time data - firehose.html chat.html and map.html now use the new apis and the time is the browser local time * Improves container build (#94) * Worked on /api/packet. Needed to modify - Store.py to read the new time data - api.py to present the new time data - firehose.html chat.html and map.html now use the new apis and the time is the browser local time * Worked on /api/packet. Needed to modify - Store.py to read the new time data - api.py to present the new time data - firehose.html chat.html and map.html now use the new apis and the time is the browser local time * Worked on /api/packet. Needed to modify - Added new api endpoint /api/packets_seen - Modified web.py and store.py to support changes to APIs. - Started to work on new_node.html and new_packet.html for presentation of data. * Worked on /api/packet. Needed to modify - Added new api endpoint /api/packets_seen - Modified web.py and store.py to support changes to APIs. - Started to work on new_node.html and new_packet.html for presentation of data. * Finishing up all the pages for the 3.0 release. Now all pages are functional. * Finishing up all the pages for the 3.0 release. Now all pages are functional. * fix ruff format * more ruff * Finishing up all the pages for the 3.0 release. Now all pages are functional. * Finishing up all the pages for the 3.0 release. Now all pages are functional. * pyproject.toml requirements * use sys.executable * fix 0 epoch dates in /chat * Make the robots do our bidding * another compatibility fix when _us is empty and we need to sort by BOTH old and new * Finishing up all the pages for the 3.0 release. Now all pages are functional. * Finishing up all the pages for the 3.0 release. Now all pages are functional. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * Remamed new_node to node. shorter and descriptive. * More changes... almost ready for release. Ranamed 2 pages for easy or reading. * Fix the net page as it was not showing the date information * Fix the net page as it was not showing the date information * Fix the net page as it was not showing the date information * Fix the net page as it was not showing the date information * ruff --------- Co-authored-by: Óscar García Amor <ogarcia@connectical.com> Co-authored-by: Jim Schrempp <jschrempp@users.noreply.github.com> Co-authored-by: Pablo Revilla <pablorevilla@gmail.com>
120 lines
3.8 KiB
INI
120 lines
3.8 KiB
INI
# A generic, single database configuration.
|
|
|
|
[alembic]
|
|
# path to migration scripts
|
|
# Use forward slashes (/) also on windows to provide an os agnostic path
|
|
script_location = alembic
|
|
|
|
# template used to generate migration file names; The default value is %%(rev)s_%%(slug)s
|
|
# Uncomment the line below if you want the files to be prepended with date and time
|
|
# see https://alembic.sqlalchemy.org/en/latest/tutorial.html#editing-the-ini-file
|
|
# for all available tokens
|
|
# file_template = %%(year)d_%%(month).2d_%%(day).2d_%%(hour).2d%%(minute).2d-%%(rev)s_%%(slug)s
|
|
|
|
# sys.path path, will be prepended to sys.path if present.
|
|
# defaults to the current working directory.
|
|
prepend_sys_path = .
|
|
|
|
# timezone to use when rendering the date within the migration file
|
|
# as well as the filename.
|
|
# If specified, requires the python>=3.9 or backports.zoneinfo library and tzdata library.
|
|
# Any required deps can installed by adding `alembic[tz]` to the pip requirements
|
|
# string value is passed to ZoneInfo()
|
|
# leave blank for localtime
|
|
# timezone =
|
|
|
|
# max length of characters to apply to the "slug" field
|
|
# truncate_slug_length = 40
|
|
|
|
# set to 'true' to run the environment during
|
|
# the 'revision' command, regardless of autogenerate
|
|
# revision_environment = false
|
|
|
|
# set to 'true' to allow .pyc and .pyo files without
|
|
# a source .py file to be detected as revisions in the
|
|
# versions/ directory
|
|
# sourceless = false
|
|
|
|
# version location specification; This defaults
|
|
# to alembic/versions. When using multiple version
|
|
# directories, initial revisions must be specified with --version-path.
|
|
# The path separator used here should be the separator specified by "version_path_separator" below.
|
|
# version_locations = %(here)s/bar:%(here)s/bat:alembic/versions
|
|
|
|
# version path separator; As mentioned above, this is the character used to split
|
|
# version_locations. The default within new alembic.ini files is "os", which uses os.pathsep.
|
|
# If this key is omitted entirely, it falls back to the legacy behavior of splitting on spaces and/or commas.
|
|
# Valid values for version_path_separator are:
|
|
#
|
|
# version_path_separator = :
|
|
# version_path_separator = ;
|
|
# version_path_separator = space
|
|
# version_path_separator = newline
|
|
#
|
|
# Use os.pathsep. Default configuration used for new projects.
|
|
version_path_separator = os
|
|
|
|
# set to 'true' to search source files recursively
|
|
# in each "version_locations" directory
|
|
# new in Alembic version 1.10
|
|
# recursive_version_locations = false
|
|
|
|
# the output encoding used when revision files
|
|
# are written from script.py.mako
|
|
# output_encoding = utf-8
|
|
|
|
# sqlalchemy.url will be set programmatically from meshview config
|
|
# sqlalchemy.url = driver://user:pass@localhost/dbname
|
|
|
|
|
|
[post_write_hooks]
|
|
# post_write_hooks defines scripts or Python functions that are run
|
|
# on newly generated revision scripts. See the documentation for further
|
|
# detail and examples
|
|
|
|
# format using "black" - use the console_scripts runner, against the "black" entrypoint
|
|
# hooks = black
|
|
# black.type = console_scripts
|
|
# black.entrypoint = black
|
|
# black.options = -l 79 REVISION_SCRIPT_FILENAME
|
|
|
|
# lint with attempts to fix using "ruff" - use the exec runner, execute a binary
|
|
# hooks = ruff
|
|
# ruff.type = exec
|
|
# ruff.executable = %(here)s/.venv/bin/ruff
|
|
# ruff.options = --fix REVISION_SCRIPT_FILENAME
|
|
|
|
# Logging configuration
|
|
[loggers]
|
|
keys = root,sqlalchemy,alembic
|
|
|
|
[handlers]
|
|
keys = console
|
|
|
|
[formatters]
|
|
keys = generic
|
|
|
|
[logger_root]
|
|
level = INFO
|
|
handlers = console
|
|
qualname =
|
|
|
|
[logger_sqlalchemy]
|
|
level = WARNING
|
|
handlers =
|
|
qualname = sqlalchemy.engine
|
|
|
|
[logger_alembic]
|
|
level = INFO
|
|
handlers =
|
|
qualname = alembic
|
|
|
|
[handler_console]
|
|
class = StreamHandler
|
|
args = (sys.stderr,)
|
|
level = NOTSET
|
|
formatter = generic
|
|
|
|
[formatter_generic]
|
|
format = %(asctime)s %(filename)s:%(lineno)d [pid:%(process)d] %(levelname)s - %(message)s
|
|
datefmt = %Y-%m-%d %H:%M:%S |