diff --git a/bookwyrm/management/commands/initdb.py b/bookwyrm/management/commands/initdb.py index 53d6e8d4..826a24e2 100644 --- a/bookwyrm/management/commands/initdb.py +++ b/bookwyrm/management/commands/initdb.py @@ -154,9 +154,30 @@ def init_link_domains(*_): class Command(BaseCommand): help = "Initializes the database with starter data" + def add_arguments(self, parser): + parser.add_argument( + "--limit", + default=None, + help="Limit init to specific table", + ) + def handle(self, *args, **options): - init_groups() - init_permissions() - init_connectors() - init_federated_servers() - init_settings() + limit = options.get("limit") + tables = [ + "group", "permission", "connector", "federatedserver", "settings", "linkdomain" + ] + if limit not in tables: + raise Exception("Invalid table limit:", limit) + + if not limit or limit == "group": + init_groups() + if not limit or limit == "permission": + init_permissions() + if not limit or limit == "connector": + init_connectors() + if not limit or limit == "federatedserver": + init_federated_servers() + if not limit or limit == "settings": + init_settings() + if not limit or limit == "linkdomain": + init_link_domains() diff --git a/bookwyrm/management/commands/populate_lists_streams.py b/bookwyrm/management/commands/populate_lists_streams.py index e3c30bab..0a057401 100644 --- a/bookwyrm/management/commands/populate_lists_streams.py +++ b/bookwyrm/management/commands/populate_lists_streams.py @@ -22,13 +22,6 @@ class Command(BaseCommand): help = "Populate list streams for all users" - def add_arguments(self, parser): - parser.add_argument( - "--stream", - default=None, - help="Specifies which time of stream to populate", - ) - # pylint: disable=no-self-use,unused-argument def handle(self, *args, **options): """run feed builder""" diff --git a/bookwyrm/migrations/0126_filelink_link_linkdomain.py b/bookwyrm/migrations/0126_filelink_link_linkdomain.py index 1870030c..98d71cc2 100644 --- a/bookwyrm/migrations/0126_filelink_link_linkdomain.py +++ b/bookwyrm/migrations/0126_filelink_link_linkdomain.py @@ -5,8 +5,6 @@ import bookwyrm.models.fields from django.db import migrations, models import django.db.models.deletion -from bookwyrm.management.commands.initdb import init_link_domains - class Migration(migrations.Migration): @@ -125,5 +123,4 @@ class Migration(migrations.Migration): }, bases=("bookwyrm.link",), ), - migrations.RunPython(init_link_domains, reverse_code=migrations.RunPython.noop), ] diff --git a/bw-dev b/bw-dev index 6bf5a125..c72a96ca 100755 --- a/bw-dev +++ b/bw-dev @@ -31,7 +31,7 @@ function execweb { function initdb { execweb python manage.py migrate - execweb python manage.py initdb + execweb python manage.py initdb "$@" } function makeitblack { @@ -65,7 +65,7 @@ case "$CMD" in docker-compose run --rm --service-ports web ;; initdb) - initdb + initdb "$@" ;; resetdb) clean