mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
Renaming of symbols. Functions, variables, values, DB values, etc. Basically everything that is not user-facing. This only covers "Trusted User" things: tests, comments, etc. will covered in a following commit.
83 lines
2.3 KiB
Python
83 lines
2.3 KiB
Python
import argparse
|
|
|
|
import alembic.command
|
|
import alembic.config
|
|
|
|
import aurweb.aur_logging
|
|
import aurweb.db
|
|
import aurweb.schema
|
|
|
|
|
|
def feed_initial_data(conn):
|
|
conn.execute(
|
|
aurweb.schema.AccountTypes.insert(),
|
|
[
|
|
{"ID": 1, "AccountType": "User"},
|
|
{"ID": 2, "AccountType": "Package Maintainer"},
|
|
{"ID": 3, "AccountType": "Developer"},
|
|
{"ID": 4, "AccountType": "Package Maintainer & Developer"},
|
|
],
|
|
)
|
|
conn.execute(
|
|
aurweb.schema.DependencyTypes.insert(),
|
|
[
|
|
{"ID": 1, "Name": "depends"},
|
|
{"ID": 2, "Name": "makedepends"},
|
|
{"ID": 3, "Name": "checkdepends"},
|
|
{"ID": 4, "Name": "optdepends"},
|
|
],
|
|
)
|
|
conn.execute(
|
|
aurweb.schema.RelationTypes.insert(),
|
|
[
|
|
{"ID": 1, "Name": "conflicts"},
|
|
{"ID": 2, "Name": "provides"},
|
|
{"ID": 3, "Name": "replaces"},
|
|
],
|
|
)
|
|
conn.execute(
|
|
aurweb.schema.RequestTypes.insert(),
|
|
[
|
|
{"ID": 1, "Name": "deletion"},
|
|
{"ID": 2, "Name": "orphan"},
|
|
{"ID": 3, "Name": "merge"},
|
|
],
|
|
)
|
|
|
|
|
|
def run(args):
|
|
aurweb.config.rehash()
|
|
|
|
# Ensure Alembic is fine before we do the real work, in order not to fail at
|
|
# the last step and leave the database in an inconsistent state. The
|
|
# configuration is loaded lazily, so we query it to force its loading.
|
|
if args.use_alembic:
|
|
alembic_config = alembic.config.Config("alembic.ini")
|
|
alembic_config.get_main_option("script_location")
|
|
alembic_config.attributes["configure_logger"] = False
|
|
|
|
engine = aurweb.db.get_engine(echo=(args.verbose >= 1))
|
|
aurweb.schema.metadata.create_all(engine)
|
|
conn = engine.connect()
|
|
feed_initial_data(conn)
|
|
conn.close()
|
|
|
|
if args.use_alembic:
|
|
alembic.command.stamp(alembic_config, "head")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
parser = argparse.ArgumentParser(
|
|
prog="python -m aurweb.initdb", description="Initialize the aurweb database."
|
|
)
|
|
parser.add_argument(
|
|
"-v", "--verbose", action="count", default=0, help="increase verbosity"
|
|
)
|
|
parser.add_argument(
|
|
"--no-alembic",
|
|
help="disable Alembic migrations support",
|
|
dest="use_alembic",
|
|
action="store_false",
|
|
)
|
|
args = parser.parse_args()
|
|
run(args)
|