piccolo 1.3.2__tar.gz → 1.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {piccolo-1.3.2 → piccolo-1.5.0}/PKG-INFO +2 -2
- {piccolo-1.3.2 → piccolo-1.5.0}/README.md +1 -1
- piccolo-1.5.0/piccolo/__init__.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/auto/migration_manager.py +60 -11
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/auto/serialisation.py +2 -4
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/commands/backwards.py +3 -3
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/commands/base.py +3 -3
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/commands/forwards.py +3 -3
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/playground/commands/run.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/tables.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/base.py +5 -3
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/column_types.py +97 -116
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/reference.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/conf/apps.py +1 -2
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/objects.py +8 -8
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/select.py +4 -8
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/mixins.py +3 -3
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/proxy.py +3 -2
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/table.py +19 -13
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/testing/model_builder.py +18 -8
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/pydantic.py +45 -12
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo.egg-info/PKG-INFO +2 -2
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/app/commands/test_new.py +3 -1
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/fixtures/commands/test_dump_load.py +0 -2
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/fixtures/commands/test_shared.py +2 -2
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/auto/integration/test_migrations.py +53 -26
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/auto/test_migration_manager.py +8 -7
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/user/test_tables.py +12 -4
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/m2m/base.py +59 -40
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/m2m/test_m2m.py +5 -20
- piccolo-1.5.0/tests/columns/m2m/test_m2m_schema.py +16 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_array.py +24 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_base.py +1 -1
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_boolean.py +12 -4
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_bytea.py +1 -1
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_choices.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_date.py +2 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_db_column_name.py +4 -1
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_defaults.py +8 -8
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_double_precision.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_interval.py +2 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_json.py +15 -17
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_jsonb.py +3 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_numeric.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_primary_key.py +7 -3
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_real.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_reference.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_time.py +2 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_timestamp.py +2 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_timestamptz.py +2 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/conf/example.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/engine/test_extra_nodes.py +4 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/mixins/test_columns_delegate.py +10 -10
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/test_slots.py +1 -1
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/instance/test_get_related_readable.py +1 -1
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/instance/test_to_dict.py +5 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_alter.py +11 -12
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_batch.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_inheritance.py +2 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_insert.py +2 -1
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_join.py +39 -25
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_join_on.py +4 -2
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_metaclass.py +12 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_objects.py +12 -6
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_output.py +3 -1
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_repr.py +1 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_select.py +30 -4
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_update.py +12 -3
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/test_schema.py +4 -5
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/testing/test_model_builder.py +18 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_pydantic.py +54 -0
- piccolo-1.3.2/piccolo/__init__.py +0 -1
- piccolo-1.3.2/tests/columns/m2m/test_m2m_schema.py +0 -48
- {piccolo-1.3.2 → piccolo-1.5.0}/LICENSE +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/app/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/app/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/app/commands/new.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/app/commands/show_all.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/app/commands/templates/piccolo_app.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/app/commands/templates/tables.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/app/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/new.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/README.md.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/_blacksheep_app.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/_esmerald_app.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/_fastapi_app.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/_litestar_app.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/_starlette_app.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/app.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/conftest.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/__init__.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/_blacksheep_endpoints.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/_esmerald_endpoints.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/_litestar_endpoints.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/_starlette_endpoints.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/endpoints.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/piccolo_app.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/piccolo_migrations/README.md +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/tables.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/templates/base.html.jinja_raw +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/home/templates/home.html.jinja_raw +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/main.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/piccolo_conf.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/piccolo_conf_test.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/requirements.txt.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/static/favicon.ico +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/commands/templates/app/static/main.css +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/asgi/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/fixtures/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/fixtures/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/fixtures/commands/dump.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/fixtures/commands/load.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/fixtures/commands/shared.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/fixtures/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/meta/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/meta/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/meta/commands/version.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/meta/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/auto/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/auto/diffable_table.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/auto/operations.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/auto/schema_differ.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/auto/schema_snapshot.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/auto/serialisation_legacy.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/commands/check.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/commands/clean.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/commands/new.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/commands/templates/migration.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/migrations/tables.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/playground/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/playground/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/playground/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/project/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/project/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/project/commands/new.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/project/commands/templates/piccolo_conf.py.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/project/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/schema/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/schema/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/schema/commands/exceptions.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/schema/commands/generate.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/schema/commands/graph.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/schema/commands/templates/graphviz.dot.jinja +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/schema/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/shell/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/shell/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/shell/commands/run.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/shell/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/sql_shell/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/sql_shell/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/sql_shell/commands/run.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/sql_shell/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/tester/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/tester/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/tester/commands/run.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/tester/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/commands/change_password.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/commands/change_permissions.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/commands/create.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/commands/list.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/piccolo_migrations/2019-11-14T21-52-21.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/piccolo_migrations/2020-06-11T21-38-55.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/piccolo_migrations/2021-04-30T16-14-15.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/apps/user/piccolo_migrations/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/choices.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/combination.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/defaults/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/defaults/base.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/defaults/date.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/defaults/interval.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/defaults/time.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/defaults/timestamp.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/defaults/timestamptz.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/defaults/uuid.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/indexes.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/m2m.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/operators/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/operators/base.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/operators/comparison.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/operators/math.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/operators/string.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/columns/readable.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/conf/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/custom_types.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/engine/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/engine/base.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/engine/cockroach.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/engine/exceptions.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/engine/finder.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/engine/postgres.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/engine/sqlite.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/main.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/py.typed +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/base.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/alter.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/count.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/create.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/create_index.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/delete.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/drop_index.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/exists.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/indexes.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/insert.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/raw.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/refresh.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/table_exists.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/query/methods/update.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/querystring.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/schema.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/table_reflection.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/testing/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/testing/random_builder.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/dictionary.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/encoding.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/graphlib/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/graphlib/_graphlib.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/lazy_loader.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/list.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/naming.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/objects.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/printing.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/repr.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/sql_values.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/sync.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo/utils/warnings.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo.egg-info/SOURCES.txt +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo.egg-info/dependency_links.txt +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo.egg-info/entry_points.txt +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo.egg-info/requires.txt +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/piccolo.egg-info/top_level.txt +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/profiling/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/profiling/run_profile.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/pyproject.toml +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/setup.cfg +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/setup.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/app/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/app/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/app/commands/test_show_all.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/asgi/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/asgi/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/asgi/commands/test_new.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/fixtures/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/fixtures/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/meta/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/meta/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/meta/commands/test_version.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/auto/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/auto/integration/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/auto/test_diffable_table.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/auto/test_schema_differ.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/auto/test_schema_snapshot.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/auto/test_serialisation.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/commands/test_base.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/commands/test_check.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/commands/test_clean.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/commands/test_forwards_backwards.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/commands/test_migrations/2020-03-31T20-38-22.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/commands/test_migrations/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/commands/test_new.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/migrations/test_migration.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/project/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/project/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/project/commands/test_new.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/schema/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/shell/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/shell/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/shell/commands/test_run.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/sql_shell/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/sql_shell/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/sql_shell/commands/test_run.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/tester/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/user/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/user/commands/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/user/commands/test_change_password.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/user/commands/test_change_permissions.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/user/commands/test_create.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/apps/user/commands/test_list.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/m2m/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_bigint.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_combination.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_readable.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_reserved_column_names.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_smallint.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_uuid.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/columns/test_varchar.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/conf/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/conf/test_apps.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/engine/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/engine/test_logging.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/engine/test_nested_transaction.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/engine/test_pool.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/engine/test_transaction.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/engine/test_version_parsing.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/mega/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/mega/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/mega/piccolo_migrations/2021-09-20T21-23-25-698988.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/mega/piccolo_migrations/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/mega/tables.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/music/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/music/piccolo_app.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/music/tables.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/example_apps/music/tables_detailed.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/mixins/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/mixins/test_order_by_delegate.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/test_await.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/test_camelcase.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/test_freeze.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/test_gather.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/query/test_querystring.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/instance/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/instance/test_create.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/instance/test_get_related.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/instance/test_instantiate.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/instance/test_remove.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/instance/test_save.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_all_columns.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_callback.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_constructor.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_count.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_create.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_create_db_tables.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_create_table_class.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_delete.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_drop_db_tables.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_exists.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_from_dict.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_indexes.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_raw.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_ref.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_refresh.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_str.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/table/test_table_exists.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/test_main.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/testing/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/testing/test_random_builder.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/__init__.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_dictionary.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_encoding.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_lazy_loader.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_list.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_naming.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_printing.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_sql_values.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_sync.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_table_reflection.py +0 -0
- {piccolo-1.3.2 → piccolo-1.5.0}/tests/utils/test_warnings.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: piccolo
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.5.0
|
4
4
|
Summary: A fast, user friendly ORM and query builder which supports asyncio.
|
5
5
|
Home-page: https://github.com/piccolo-orm/piccolo
|
6
6
|
Author: Daniel Townsend
|
@@ -144,7 +144,7 @@ Let Piccolo scaffold you an ASGI web app, using Piccolo as the ORM:
|
|
144
144
|
piccolo asgi new
|
145
145
|
```
|
146
146
|
|
147
|
-
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/)
|
147
|
+
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/), [Litestar](https://litestar.dev/) and [Esmerald](https://esmerald.dev/) are currently supported.
|
148
148
|
|
149
149
|
## Are you a Django user?
|
150
150
|
|
@@ -94,7 +94,7 @@ Let Piccolo scaffold you an ASGI web app, using Piccolo as the ORM:
|
|
94
94
|
piccolo asgi new
|
95
95
|
```
|
96
96
|
|
97
|
-
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/)
|
97
|
+
[Starlette](https://www.starlette.io/), [FastAPI](https://fastapi.tiangolo.com/), [BlackSheep](https://www.neoteroi.dev/blacksheep/), [Litestar](https://litestar.dev/) and [Esmerald](https://esmerald.dev/) are currently supported.
|
98
98
|
|
99
99
|
## Are you a Django user?
|
100
100
|
|
@@ -0,0 +1 @@
|
|
1
|
+
__VERSION__ = "1.5.0"
|
@@ -1,6 +1,7 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
import inspect
|
4
|
+
import logging
|
4
5
|
import typing as t
|
5
6
|
from dataclasses import dataclass, field
|
6
7
|
|
@@ -14,7 +15,7 @@ from piccolo.apps.migrations.auto.operations import (
|
|
14
15
|
)
|
15
16
|
from piccolo.apps.migrations.auto.serialisation import deserialise_params
|
16
17
|
from piccolo.columns import Column, column_types
|
17
|
-
from piccolo.columns.column_types import Serial
|
18
|
+
from piccolo.columns.column_types import ForeignKey, Serial
|
18
19
|
from piccolo.engine import engine_finder
|
19
20
|
from piccolo.query import Query
|
20
21
|
from piccolo.query.base import DDL
|
@@ -22,6 +23,8 @@ from piccolo.schema import SchemaDDLBase
|
|
22
23
|
from piccolo.table import Table, create_table_class, sort_table_classes
|
23
24
|
from piccolo.utils.warnings import colored_warning
|
24
25
|
|
26
|
+
logger = logging.getLogger(__name__)
|
27
|
+
|
25
28
|
|
26
29
|
@dataclass
|
27
30
|
class AddColumnClass:
|
@@ -734,9 +737,9 @@ class MigrationManager:
|
|
734
737
|
async def _run_add_tables(self, backwards: bool = False):
|
735
738
|
table_classes: t.List[t.Type[Table]] = []
|
736
739
|
for add_table in self.add_tables:
|
737
|
-
add_columns: t.List[
|
738
|
-
|
739
|
-
|
740
|
+
add_columns: t.List[AddColumnClass] = (
|
741
|
+
self.add_columns.for_table_class_name(add_table.class_name)
|
742
|
+
)
|
740
743
|
_Table: t.Type[Table] = create_table_class(
|
741
744
|
class_name=add_table.class_name,
|
742
745
|
class_kwargs={
|
@@ -789,30 +792,76 @@ class MigrationManager:
|
|
789
792
|
if table_class_name in [i.class_name for i in self.add_tables]:
|
790
793
|
continue # No need to add columns to new tables
|
791
794
|
|
792
|
-
add_columns: t.List[
|
793
|
-
|
794
|
-
|
795
|
+
add_columns: t.List[AddColumnClass] = (
|
796
|
+
self.add_columns.for_table_class_name(table_class_name)
|
797
|
+
)
|
795
798
|
|
799
|
+
###############################################################
|
796
800
|
# Define the table, with the columns, so the metaclass
|
797
801
|
# sets up the columns correctly.
|
802
|
+
|
803
|
+
table_class_members = {
|
804
|
+
add_column.column._meta.name: add_column.column
|
805
|
+
for add_column in add_columns
|
806
|
+
}
|
807
|
+
|
808
|
+
# There's an extreme edge case, when we're adding a foreign
|
809
|
+
# key which references its own table, for example:
|
810
|
+
#
|
811
|
+
# fk = ForeignKey('self')
|
812
|
+
#
|
813
|
+
# And that table has a custom primary key, for example:
|
814
|
+
#
|
815
|
+
# id = UUID(primary_key=True)
|
816
|
+
#
|
817
|
+
# In this situation, we need to know the primary key of the
|
818
|
+
# table in order to correctly add this new foreign key.
|
819
|
+
for add_column in add_columns:
|
820
|
+
if (
|
821
|
+
isinstance(add_column.column, ForeignKey)
|
822
|
+
and add_column.column._meta.params.get("references")
|
823
|
+
== "self"
|
824
|
+
):
|
825
|
+
try:
|
826
|
+
existing_table = (
|
827
|
+
await self.get_table_from_snapshot(
|
828
|
+
table_class_name=table_class_name,
|
829
|
+
app_name=self.app_name,
|
830
|
+
offset=-1,
|
831
|
+
)
|
832
|
+
)
|
833
|
+
except ValueError:
|
834
|
+
logger.error(
|
835
|
+
"Unable to find primary key for the table - "
|
836
|
+
"assuming Serial."
|
837
|
+
)
|
838
|
+
else:
|
839
|
+
primary_key = existing_table._meta.primary_key
|
840
|
+
|
841
|
+
table_class_members[primary_key._meta.name] = (
|
842
|
+
primary_key
|
843
|
+
)
|
844
|
+
|
845
|
+
break
|
846
|
+
|
798
847
|
_Table = create_table_class(
|
799
848
|
class_name=add_columns[0].table_class_name,
|
800
849
|
class_kwargs={
|
801
850
|
"tablename": add_columns[0].tablename,
|
802
851
|
"schema": add_columns[0].schema,
|
803
852
|
},
|
804
|
-
class_members=
|
805
|
-
add_column.column._meta.name: add_column.column
|
806
|
-
for add_column in add_columns
|
807
|
-
},
|
853
|
+
class_members=table_class_members,
|
808
854
|
)
|
809
855
|
|
856
|
+
###############################################################
|
857
|
+
|
810
858
|
for add_column in add_columns:
|
811
859
|
# We fetch the column from the Table, as the metaclass
|
812
860
|
# copies and sets it up properly.
|
813
861
|
column = _Table._meta.get_column_by_name(
|
814
862
|
add_column.column._meta.name
|
815
863
|
)
|
864
|
+
|
816
865
|
await self._run_query(
|
817
866
|
_Table.alter().add_column(
|
818
867
|
name=column._meta.name, column=column
|
@@ -25,8 +25,7 @@ from .serialisation_legacy import deserialise_legacy_params
|
|
25
25
|
|
26
26
|
class CanConflictWithGlobalNames(abc.ABC):
|
27
27
|
@abc.abstractmethod
|
28
|
-
def warn_if_is_conflicting_with_global_name(self):
|
29
|
-
...
|
28
|
+
def warn_if_is_conflicting_with_global_name(self): ...
|
30
29
|
|
31
30
|
|
32
31
|
class UniqueGlobalNamesMeta(type):
|
@@ -237,8 +236,7 @@ class Import(CanConflictWithGlobalNames):
|
|
237
236
|
|
238
237
|
class Definition(CanConflictWithGlobalNames, abc.ABC):
|
239
238
|
@abc.abstractmethod
|
240
|
-
def __repr__(self):
|
241
|
-
...
|
239
|
+
def __repr__(self): ...
|
242
240
|
|
243
241
|
###########################################################################
|
244
242
|
# To allow sorting:
|
@@ -31,9 +31,9 @@ class BackwardsMigrationManager(BaseMigrationManager):
|
|
31
31
|
super().__init__()
|
32
32
|
|
33
33
|
async def run_migrations_backwards(self, app_config: AppConfig):
|
34
|
-
migration_modules: t.Dict[
|
35
|
-
|
36
|
-
|
34
|
+
migration_modules: t.Dict[str, MigrationModule] = (
|
35
|
+
self.get_migration_modules(app_config.migrations_folder_path)
|
36
|
+
)
|
37
37
|
|
38
38
|
ran_migration_ids = await Migration.get_migrations_which_ran(
|
39
39
|
app_name=self.app_name
|
@@ -88,9 +88,9 @@ class BaseMigrationManager(Finder):
|
|
88
88
|
|
89
89
|
migrations_folder = app_config.migrations_folder_path
|
90
90
|
|
91
|
-
migration_modules: t.Dict[
|
92
|
-
|
93
|
-
|
91
|
+
migration_modules: t.Dict[str, MigrationModule] = (
|
92
|
+
self.get_migration_modules(migrations_folder)
|
93
|
+
)
|
94
94
|
|
95
95
|
migration_ids = sorted(migration_modules.keys())
|
96
96
|
|
@@ -32,9 +32,9 @@ class ForwardsMigrationManager(BaseMigrationManager):
|
|
32
32
|
app_name=app_config.app_name
|
33
33
|
)
|
34
34
|
|
35
|
-
migration_modules: t.Dict[
|
36
|
-
|
37
|
-
|
35
|
+
migration_modules: t.Dict[str, MigrationModule] = (
|
36
|
+
self.get_migration_modules(app_config.migrations_folder_path)
|
37
|
+
)
|
38
38
|
|
39
39
|
ids = self.get_migration_ids(migration_modules)
|
40
40
|
n = len(ids)
|
@@ -887,9 +887,11 @@ class Column(Selectable):
|
|
887
887
|
return (
|
888
888
|
"'{"
|
889
889
|
+ ", ".join(
|
890
|
-
|
891
|
-
|
892
|
-
|
890
|
+
(
|
891
|
+
f'"{i}"'
|
892
|
+
if isinstance(i, str)
|
893
|
+
else str(self.get_sql_value(i))
|
894
|
+
)
|
893
895
|
for i in value
|
894
896
|
)
|
895
897
|
) + "}'"
|