diff --git a/AGENTS.md b/AGENTS.md index cd74f06ca..70d95a8bc 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -78,7 +78,7 @@ For app-surface changes, inspect the proof app at - **Backend:** `backend/druks/` contains FastAPI, DBOS, SQLAlchemy 2.0, Pydantic v2, and bundled apps. -- **Migrations:** `backend/migrations/` contains platform Alembic migrations. +- **Migrations:** `backend/druks/migrations/` contains platform Alembic migrations. - **Tests:** `backend/tests/` contains the pytest suite backed by real Postgres. - **Proof app:** `backend/tests/druks-field_notes/` contains the independently packaged proof app. diff --git a/backend/alembic.ini b/backend/druks/alembic.ini similarity index 100% rename from backend/alembic.ini rename to backend/druks/alembic.ini diff --git a/backend/druks/database.py b/backend/druks/database.py index 5aa6c4e31..2098f686e 100644 --- a/backend/druks/database.py +++ b/backend/druks/database.py @@ -9,7 +9,7 @@ from druks.db import db_session from druks.settings import load_settings -_ALEMBIC_INI = Path(__file__).resolve().parent.parent / "alembic.ini" +_ALEMBIC_INI = Path(__file__).resolve().parent / "alembic.ini" _MIGRATION_SUPPORT_ONLY = "migration_support_only" diff --git a/backend/migrations/README b/backend/druks/migrations/README similarity index 100% rename from backend/migrations/README rename to backend/druks/migrations/README diff --git a/backend/migrations/env.py b/backend/druks/migrations/env.py similarity index 100% rename from backend/migrations/env.py rename to backend/druks/migrations/env.py diff --git a/backend/migrations/script.py.mako b/backend/druks/migrations/script.py.mako similarity index 100% rename from backend/migrations/script.py.mako rename to backend/druks/migrations/script.py.mako diff --git a/backend/migrations/versions/2f9d7f55982a_project_repos_updated_at.py b/backend/druks/migrations/versions/2f9d7f55982a_project_repos_updated_at.py similarity index 100% rename from backend/migrations/versions/2f9d7f55982a_project_repos_updated_at.py rename to backend/druks/migrations/versions/2f9d7f55982a_project_repos_updated_at.py diff --git a/backend/migrations/versions/32e4344e7ecf_pin_chat_conversations.py b/backend/druks/migrations/versions/32e4344e7ecf_pin_chat_conversations.py similarity index 100% rename from backend/migrations/versions/32e4344e7ecf_pin_chat_conversations.py rename to backend/druks/migrations/versions/32e4344e7ecf_pin_chat_conversations.py diff --git a/backend/migrations/versions/3b8e1f6c9d24_record_a_sandbox_identity_secrets_hash.py b/backend/druks/migrations/versions/3b8e1f6c9d24_record_a_sandbox_identity_secrets_hash.py similarity index 100% rename from backend/migrations/versions/3b8e1f6c9d24_record_a_sandbox_identity_secrets_hash.py rename to backend/druks/migrations/versions/3b8e1f6c9d24_record_a_sandbox_identity_secrets_hash.py diff --git a/backend/migrations/versions/4b8d2f6e9a13_one_openai_provider.py b/backend/druks/migrations/versions/4b8d2f6e9a13_one_openai_provider.py similarity index 100% rename from backend/migrations/versions/4b8d2f6e9a13_one_openai_provider.py rename to backend/druks/migrations/versions/4b8d2f6e9a13_one_openai_provider.py diff --git a/backend/migrations/versions/5d3f8a2c7e19_provider_keys.py b/backend/druks/migrations/versions/5d3f8a2c7e19_provider_keys.py similarity index 100% rename from backend/migrations/versions/5d3f8a2c7e19_provider_keys.py rename to backend/druks/migrations/versions/5d3f8a2c7e19_provider_keys.py diff --git a/backend/migrations/versions/6d69d94c96e1_thread_conversations.py b/backend/druks/migrations/versions/6d69d94c96e1_thread_conversations.py similarity index 100% rename from backend/migrations/versions/6d69d94c96e1_thread_conversations.py rename to backend/druks/migrations/versions/6d69d94c96e1_thread_conversations.py diff --git a/backend/migrations/versions/6e9c2b4a8f10_usage_main_limit.py b/backend/druks/migrations/versions/6e9c2b4a8f10_usage_main_limit.py similarity index 100% rename from backend/migrations/versions/6e9c2b4a8f10_usage_main_limit.py rename to backend/druks/migrations/versions/6e9c2b4a8f10_usage_main_limit.py diff --git a/backend/migrations/versions/74b53981122c_add_account_preferences.py b/backend/druks/migrations/versions/74b53981122c_add_account_preferences.py similarity index 100% rename from backend/migrations/versions/74b53981122c_add_account_preferences.py rename to backend/druks/migrations/versions/74b53981122c_add_account_preferences.py diff --git a/backend/migrations/versions/7dc609a2d51a_move_preferences_to_accounts.py b/backend/druks/migrations/versions/7dc609a2d51a_move_preferences_to_accounts.py similarity index 100% rename from backend/migrations/versions/7dc609a2d51a_move_preferences_to_accounts.py rename to backend/druks/migrations/versions/7dc609a2d51a_move_preferences_to_accounts.py diff --git a/backend/migrations/versions/7e1c4b9d2a58_agents_resolve_on_user_settings.py b/backend/druks/migrations/versions/7e1c4b9d2a58_agents_resolve_on_user_settings.py similarity index 100% rename from backend/migrations/versions/7e1c4b9d2a58_agents_resolve_on_user_settings.py rename to backend/druks/migrations/versions/7e1c4b9d2a58_agents_resolve_on_user_settings.py diff --git a/backend/migrations/versions/83a72f16b940_record_identity_lookup_error.py b/backend/druks/migrations/versions/83a72f16b940_record_identity_lookup_error.py similarity index 100% rename from backend/migrations/versions/83a72f16b940_record_identity_lookup_error.py rename to backend/druks/migrations/versions/83a72f16b940_record_identity_lookup_error.py diff --git a/backend/migrations/versions/8b194c60e72a_event_transaction_visibility.py b/backend/druks/migrations/versions/8b194c60e72a_event_transaction_visibility.py similarity index 100% rename from backend/migrations/versions/8b194c60e72a_event_transaction_visibility.py rename to backend/druks/migrations/versions/8b194c60e72a_event_transaction_visibility.py diff --git a/backend/migrations/versions/9281b05a13da_record_subscription_last_refresh.py b/backend/druks/migrations/versions/9281b05a13da_record_subscription_last_refresh.py similarity index 100% rename from backend/migrations/versions/9281b05a13da_record_subscription_last_refresh.py rename to backend/druks/migrations/versions/9281b05a13da_record_subscription_last_refresh.py diff --git a/backend/migrations/versions/9e47b68530e2_require_a_tag_per_chat_conversation.py b/backend/druks/migrations/versions/9e47b68530e2_require_a_tag_per_chat_conversation.py similarity index 100% rename from backend/migrations/versions/9e47b68530e2_require_a_tag_per_chat_conversation.py rename to backend/druks/migrations/versions/9e47b68530e2_require_a_tag_per_chat_conversation.py diff --git a/backend/migrations/versions/a3c9e7f1b5d2_secret_ref_host.py b/backend/druks/migrations/versions/a3c9e7f1b5d2_secret_ref_host.py similarity index 100% rename from backend/migrations/versions/a3c9e7f1b5d2_secret_ref_host.py rename to backend/druks/migrations/versions/a3c9e7f1b5d2_secret_ref_host.py diff --git a/backend/migrations/versions/a4b9d3e17c62_browser_sessions_allow_anonymous.py b/backend/druks/migrations/versions/a4b9d3e17c62_browser_sessions_allow_anonymous.py similarity index 100% rename from backend/migrations/versions/a4b9d3e17c62_browser_sessions_allow_anonymous.py rename to backend/druks/migrations/versions/a4b9d3e17c62_browser_sessions_allow_anonymous.py diff --git a/backend/migrations/versions/a4c8e2f7b913_require_harness_provider_email.py b/backend/druks/migrations/versions/a4c8e2f7b913_require_harness_provider_email.py similarity index 100% rename from backend/migrations/versions/a4c8e2f7b913_require_harness_provider_email.py rename to backend/druks/migrations/versions/a4c8e2f7b913_require_harness_provider_email.py diff --git a/backend/migrations/versions/a597dd9055b9_record_mcp_grant_identity_status_and_.py b/backend/druks/migrations/versions/a597dd9055b9_record_mcp_grant_identity_status_and_.py similarity index 100% rename from backend/migrations/versions/a597dd9055b9_record_mcp_grant_identity_status_and_.py rename to backend/druks/migrations/versions/a597dd9055b9_record_mcp_grant_identity_status_and_.py diff --git a/backend/migrations/versions/a7c2e9f14b38_oauth_connections_are_platform_rows.py b/backend/druks/migrations/versions/a7c2e9f14b38_oauth_connections_are_platform_rows.py similarity index 100% rename from backend/migrations/versions/a7c2e9f14b38_oauth_connections_are_platform_rows.py rename to backend/druks/migrations/versions/a7c2e9f14b38_oauth_connections_are_platform_rows.py diff --git a/backend/migrations/versions/a7c3e9b1d5f2_provider_catalogs.py b/backend/druks/migrations/versions/a7c3e9b1d5f2_provider_catalogs.py similarity index 100% rename from backend/migrations/versions/a7c3e9b1d5f2_provider_catalogs.py rename to backend/druks/migrations/versions/a7c3e9b1d5f2_provider_catalogs.py diff --git a/backend/migrations/versions/a8d4c1e63f92_remove_fallback_account.py b/backend/druks/migrations/versions/a8d4c1e63f92_remove_fallback_account.py similarity index 100% rename from backend/migrations/versions/a8d4c1e63f92_remove_fallback_account.py rename to backend/druks/migrations/versions/a8d4c1e63f92_remove_fallback_account.py diff --git a/backend/migrations/versions/b1f4c07d9e52_druks_board.py b/backend/druks/migrations/versions/b1f4c07d9e52_druks_board.py similarity index 100% rename from backend/migrations/versions/b1f4c07d9e52_druks_board.py rename to backend/druks/migrations/versions/b1f4c07d9e52_druks_board.py diff --git a/backend/migrations/versions/b3d91f4a7c25_fold_mcp_bearers_into_header_rows.py b/backend/druks/migrations/versions/b3d91f4a7c25_fold_mcp_bearers_into_header_rows.py similarity index 100% rename from backend/migrations/versions/b3d91f4a7c25_fold_mcp_bearers_into_header_rows.py rename to backend/druks/migrations/versions/b3d91f4a7c25_fold_mcp_bearers_into_header_rows.py diff --git a/backend/migrations/versions/b43924bf37db_enforce_installation_settings_singleton.py b/backend/druks/migrations/versions/b43924bf37db_enforce_installation_settings_singleton.py similarity index 100% rename from backend/migrations/versions/b43924bf37db_enforce_installation_settings_singleton.py rename to backend/druks/migrations/versions/b43924bf37db_enforce_installation_settings_singleton.py diff --git a/backend/migrations/versions/b4c7e1a8d052_name_a_files_source.py b/backend/druks/migrations/versions/b4c7e1a8d052_name_a_files_source.py similarity index 100% rename from backend/migrations/versions/b4c7e1a8d052_name_a_files_source.py rename to backend/druks/migrations/versions/b4c7e1a8d052_name_a_files_source.py diff --git a/backend/migrations/versions/b4d7e2a9c1f6_merge_review_into_software_factory.py b/backend/druks/migrations/versions/b4d7e2a9c1f6_merge_review_into_software_factory.py similarity index 100% rename from backend/migrations/versions/b4d7e2a9c1f6_merge_review_into_software_factory.py rename to backend/druks/migrations/versions/b4d7e2a9c1f6_merge_review_into_software_factory.py diff --git a/backend/migrations/versions/b6d4f2a81c93_revoking_is_a_state.py b/backend/druks/migrations/versions/b6d4f2a81c93_revoking_is_a_state.py similarity index 100% rename from backend/migrations/versions/b6d4f2a81c93_revoking_is_a_state.py rename to backend/druks/migrations/versions/b6d4f2a81c93_revoking_is_a_state.py diff --git a/backend/migrations/versions/c1e8b4a9f2d7_rename_ship_to_software_factory.py b/backend/druks/migrations/versions/c1e8b4a9f2d7_rename_ship_to_software_factory.py similarity index 100% rename from backend/migrations/versions/c1e8b4a9f2d7_rename_ship_to_software_factory.py rename to backend/druks/migrations/versions/c1e8b4a9f2d7_rename_ship_to_software_factory.py diff --git a/backend/migrations/versions/c4f8a2d97e15_connections_carry_identity.py b/backend/druks/migrations/versions/c4f8a2d97e15_connections_carry_identity.py similarity index 100% rename from backend/migrations/versions/c4f8a2d97e15_connections_carry_identity.py rename to backend/druks/migrations/versions/c4f8a2d97e15_connections_carry_identity.py diff --git a/backend/migrations/versions/c5e2a7b19d43_add_sandbox_grants.py b/backend/druks/migrations/versions/c5e2a7b19d43_add_sandbox_grants.py similarity index 100% rename from backend/migrations/versions/c5e2a7b19d43_add_sandbox_grants.py rename to backend/druks/migrations/versions/c5e2a7b19d43_add_sandbox_grants.py diff --git a/backend/migrations/versions/c7e2f4a9b1d3_subject_key.py b/backend/druks/migrations/versions/c7e2f4a9b1d3_subject_key.py similarity index 100% rename from backend/migrations/versions/c7e2f4a9b1d3_subject_key.py rename to backend/druks/migrations/versions/c7e2f4a9b1d3_subject_key.py diff --git a/backend/migrations/versions/c8b1f4d2a963_provider_catalog_label.py b/backend/druks/migrations/versions/c8b1f4d2a963_provider_catalog_label.py similarity index 100% rename from backend/migrations/versions/c8b1f4d2a963_provider_catalog_label.py rename to backend/druks/migrations/versions/c8b1f4d2a963_provider_catalog_label.py diff --git a/backend/migrations/versions/c9d1e3f5a7b2_model_selects_harness.py b/backend/druks/migrations/versions/c9d1e3f5a7b2_model_selects_harness.py similarity index 100% rename from backend/migrations/versions/c9d1e3f5a7b2_model_selects_harness.py rename to backend/druks/migrations/versions/c9d1e3f5a7b2_model_selects_harness.py diff --git a/backend/migrations/versions/c9e5b1d47a26_add_service_identities.py b/backend/druks/migrations/versions/c9e5b1d47a26_add_service_identities.py similarity index 100% rename from backend/migrations/versions/c9e5b1d47a26_add_service_identities.py rename to backend/druks/migrations/versions/c9e5b1d47a26_add_service_identities.py diff --git a/backend/migrations/versions/d2f7a9c4e816_app_qualified_agent_ids.py b/backend/druks/migrations/versions/d2f7a9c4e816_app_qualified_agent_ids.py similarity index 100% rename from backend/migrations/versions/d2f7a9c4e816_app_qualified_agent_ids.py rename to backend/druks/migrations/versions/d2f7a9c4e816_app_qualified_agent_ids.py diff --git a/backend/migrations/versions/d3a7f1c9e5b2_chat_platform.py b/backend/druks/migrations/versions/d3a7f1c9e5b2_chat_platform.py similarity index 100% rename from backend/migrations/versions/d3a7f1c9e5b2_chat_platform.py rename to backend/druks/migrations/versions/d3a7f1c9e5b2_chat_platform.py diff --git a/backend/migrations/versions/d9f3a7c1e5b2_baseline_schema.py b/backend/druks/migrations/versions/d9f3a7c1e5b2_baseline_schema.py similarity index 100% rename from backend/migrations/versions/d9f3a7c1e5b2_baseline_schema.py rename to backend/druks/migrations/versions/d9f3a7c1e5b2_baseline_schema.py diff --git a/backend/migrations/versions/e3a1c8f92d74_add_browser_sessions.py b/backend/druks/migrations/versions/e3a1c8f92d74_add_browser_sessions.py similarity index 100% rename from backend/migrations/versions/e3a1c8f92d74_add_browser_sessions.py rename to backend/druks/migrations/versions/e3a1c8f92d74_add_browser_sessions.py diff --git a/backend/migrations/versions/e3a9c7d1b5f4_providers_own_logins.py b/backend/druks/migrations/versions/e3a9c7d1b5f4_providers_own_logins.py similarity index 100% rename from backend/migrations/versions/e3a9c7d1b5f4_providers_own_logins.py rename to backend/druks/migrations/versions/e3a9c7d1b5f4_providers_own_logins.py diff --git a/backend/migrations/versions/e4b7c2d91a58_sandbox_identities.py b/backend/druks/migrations/versions/e4b7c2d91a58_sandbox_identities.py similarity index 100% rename from backend/migrations/versions/e4b7c2d91a58_sandbox_identities.py rename to backend/druks/migrations/versions/e4b7c2d91a58_sandbox_identities.py diff --git a/backend/migrations/versions/e5b8c2d4f7a1_whatsapp_chat_source.py b/backend/druks/migrations/versions/e5b8c2d4f7a1_whatsapp_chat_source.py similarity index 100% rename from backend/migrations/versions/e5b8c2d4f7a1_whatsapp_chat_source.py rename to backend/druks/migrations/versions/e5b8c2d4f7a1_whatsapp_chat_source.py diff --git a/backend/migrations/versions/e613b1a81427_chat_message_transcript.py b/backend/druks/migrations/versions/e613b1a81427_chat_message_transcript.py similarity index 100% rename from backend/migrations/versions/e613b1a81427_chat_message_transcript.py rename to backend/druks/migrations/versions/e613b1a81427_chat_message_transcript.py diff --git a/backend/migrations/versions/e6b2a9c41d70_scope_settings_and_account_ownership.py b/backend/druks/migrations/versions/e6b2a9c41d70_scope_settings_and_account_ownership.py similarity index 100% rename from backend/migrations/versions/e6b2a9c41d70_scope_settings_and_account_ownership.py rename to backend/druks/migrations/versions/e6b2a9c41d70_scope_settings_and_account_ownership.py diff --git a/backend/migrations/versions/e7b2c9d4f601_add_files.py b/backend/druks/migrations/versions/e7b2c9d4f601_add_files.py similarity index 100% rename from backend/migrations/versions/e7b2c9d4f601_add_files.py rename to backend/druks/migrations/versions/e7b2c9d4f601_add_files.py diff --git a/backend/migrations/versions/f1a6d3e8c2b7_vault.py b/backend/druks/migrations/versions/f1a6d3e8c2b7_vault.py similarity index 100% rename from backend/migrations/versions/f1a6d3e8c2b7_vault.py rename to backend/druks/migrations/versions/f1a6d3e8c2b7_vault.py diff --git a/backend/migrations/versions/f1d8c6a2b947_apps_are_canonical.py b/backend/druks/migrations/versions/f1d8c6a2b947_apps_are_canonical.py similarity index 100% rename from backend/migrations/versions/f1d8c6a2b947_apps_are_canonical.py rename to backend/druks/migrations/versions/f1d8c6a2b947_apps_are_canonical.py diff --git a/backend/migrations/versions/f7c3b0d52e81_transfer_installation_ownership.py b/backend/druks/migrations/versions/f7c3b0d52e81_transfer_installation_ownership.py similarity index 100% rename from backend/migrations/versions/f7c3b0d52e81_transfer_installation_ownership.py rename to backend/druks/migrations/versions/f7c3b0d52e81_transfer_installation_ownership.py diff --git a/backend/migrations/versions/fc24ee008853_rename_ticket_owner_to_assignee.py b/backend/druks/migrations/versions/fc24ee008853_rename_ticket_owner_to_assignee.py similarity index 100% rename from backend/migrations/versions/fc24ee008853_rename_ticket_owner_to_assignee.py rename to backend/druks/migrations/versions/fc24ee008853_rename_ticket_owner_to_assignee.py diff --git a/backend/migrations/versions/fe80e8bdf661_allow_user_upload_origin.py b/backend/druks/migrations/versions/fe80e8bdf661_allow_user_upload_origin.py similarity index 100% rename from backend/migrations/versions/fe80e8bdf661_allow_user_upload_origin.py rename to backend/druks/migrations/versions/fe80e8bdf661_allow_user_upload_origin.py diff --git a/backend/tests/test_activity_stream.py b/backend/tests/test_activity_stream.py index e6c219322..a17a781b7 100644 --- a/backend/tests/test_activity_stream.py +++ b/backend/tests/test_activity_stream.py @@ -202,6 +202,7 @@ async def test_event_transaction_migration_preserves_history(druks_db): before = (await druks_db.execute(select(Event.id, Event.payload))).all() migration = ( Path(__file__).resolve().parent.parent + / "druks" / "migrations/versions/8b194c60e72a_event_transaction_visibility.py" ) spec = importlib.util.spec_from_file_location("event_transaction_visibility", migration) diff --git a/backend/tests/test_app_migrations.py b/backend/tests/test_app_migrations.py index 7d72d68d3..461b07e49 100644 --- a/backend/tests/test_app_migrations.py +++ b/backend/tests/test_app_migrations.py @@ -19,7 +19,7 @@ # that serves every app. These tests run a synthetic app's revisions through it # from an external version_locations, proving the target shape: shared env, the # app's own version_locations and version_table, isolated from core's history. -_ALEMBIC_INI = Path(__file__).resolve().parent.parent / "alembic.ini" +_ALEMBIC_INI = Path(__file__).resolve().parent.parent / "druks" / "alembic.ini" class MigrationProbeFile(Base): diff --git a/backend/tests/test_migration_agents_resolve_on_user_settings.py b/backend/tests/test_migration_agents_resolve_on_user_settings.py index f4d73da05..b1b3285f0 100644 --- a/backend/tests/test_migration_agents_resolve_on_user_settings.py +++ b/backend/tests/test_migration_agents_resolve_on_user_settings.py @@ -9,6 +9,7 @@ # inside the suite's rolled-back transaction and runs the real upgrade on it. _MIGRATION = ( Path(__file__).resolve().parent.parent + / "druks" / "migrations" / "versions" / "7e1c4b9d2a58_agents_resolve_on_user_settings.py" diff --git a/backend/tests/test_migration_app_qualified_agent_ids.py b/backend/tests/test_migration_app_qualified_agent_ids.py index bea2ae7d8..35b1abd2c 100644 --- a/backend/tests/test_migration_app_qualified_agent_ids.py +++ b/backend/tests/test_migration_app_qualified_agent_ids.py @@ -11,6 +11,7 @@ # current schema. _MIGRATION = ( Path(__file__).resolve().parent.parent + / "druks" / "migrations" / "versions" / "d2f7a9c4e816_app_qualified_agent_ids.py" diff --git a/backend/tests/test_migration_review_into_software_factory.py b/backend/tests/test_migration_review_into_software_factory.py index 1cd8205b6..b4e03bf60 100644 --- a/backend/tests/test_migration_review_into_software_factory.py +++ b/backend/tests/test_migration_review_into_software_factory.py @@ -8,6 +8,7 @@ _MIGRATION = ( Path(__file__).resolve().parent.parent + / "druks" / "migrations" / "versions" / "b4d7e2a9c1f6_merge_review_into_software_factory.py" diff --git a/backend/tests/test_personal_settings.py b/backend/tests/test_personal_settings.py index 21a8f95fd..0b6b890b8 100644 --- a/backend/tests/test_personal_settings.py +++ b/backend/tests/test_personal_settings.py @@ -126,7 +126,13 @@ def upgrade(connection): "7dc609a2d51a_move_preferences_to_accounts.py", "b43924bf37db_enforce_installation_settings_singleton.py", ): - path = Path(__file__).resolve().parent.parent / "migrations" / "versions" / filename + path = ( + Path(__file__).resolve().parent.parent + / "druks" + / "migrations" + / "versions" + / filename + ) spec = importlib.util.spec_from_file_location("settings_migration", path) module = importlib.util.module_from_spec(spec) spec.loader.exec_module(module) diff --git a/backend/tests/test_proof_app_migration.py b/backend/tests/test_proof_app_migration.py index 9a8f08a5b..8c53dc4c9 100644 --- a/backend/tests/test_proof_app_migration.py +++ b/backend/tests/test_proof_app_migration.py @@ -11,7 +11,7 @@ # out-of-tree package's hand-written baseline applies cleanly and tracks its own head, # independent of core's. Manages its own DDL (via an AUTOCOMMIT engine) and cleans up, so # it opts out of the suite's transaction-rollback isolation (conftest ``_OWN_DATABASE_MODULES``). -_ALEMBIC_INI = Path(__file__).resolve().parent.parent / "alembic.ini" +_ALEMBIC_INI = Path(__file__).resolve().parent.parent / "druks" / "alembic.ini" _PACKAGE_ROOT = Path(__file__).resolve().parent / "druks-field_notes" / "druks_field_notes" _VERSIONS = _PACKAGE_ROOT / "migrations" / "versions" diff --git a/docs/development.md b/docs/development.md index 0ba574cc6..3648da3df 100644 --- a/docs/development.md +++ b/docs/development.md @@ -81,7 +81,7 @@ contains the built SPA and serves it from FastAPI. | `backend/druks/contrib/software_factory/` | Bundled reference app, not framework core | | `frontend/src/` | Shared dashboard shell and bundled app UI | | `frontend/src/druksui/` | The renderer for an app's Python pages | -| `backend/migrations/` | Core/bundled schema history | +| `backend/druks/migrations/` | Core/bundled schema history | | `deploy/`, `scripts/` | Images, Compose, Caddy, setup, and deployment | The API process embeds DBOS and executes workflows. App modules register @@ -110,7 +110,7 @@ tests together. Core and bundled historical tables use the core Alembic history: ```bash -uv run alembic -c backend/alembic.ini revision --autogenerate -m "describe change" +uv run alembic -c backend/druks/alembic.ini revision --autogenerate -m "describe change" uv run druks init-db ``` diff --git a/pyproject.toml b/pyproject.toml index 500c24817..bfbf9590f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -100,7 +100,7 @@ include = [ line-length = 100 target-version = "py311" # Alembic-generated revisions are machine-written; don't hand-lint them. -extend-exclude = ["backend/migrations/versions"] +extend-exclude = ["backend/druks/migrations/versions"] [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "SIM", "TID251"]