sqlew 5.0.7 → 5.1.0
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.
- package/CHANGELOG.md +27 -0
- package/README.md +100 -242
- package/dist/adapters/auth/auth-factory.d.ts +2 -81
- package/dist/adapters/auth/auth-factory.d.ts.map +1 -1
- package/dist/adapters/auth/auth-factory.js +2 -82
- package/dist/adapters/auth/auth-factory.js.map +1 -1
- package/dist/adapters/auth/base-auth-provider.d.ts +18 -303
- package/dist/adapters/auth/base-auth-provider.d.ts.map +1 -1
- package/dist/adapters/auth/base-auth-provider.js +2 -104
- package/dist/adapters/auth/base-auth-provider.js.map +1 -1
- package/dist/adapters/auth/direct-auth-provider.d.ts +4 -348
- package/dist/adapters/auth/direct-auth-provider.d.ts.map +1 -1
- package/dist/adapters/auth/direct-auth-provider.js +6 -356
- package/dist/adapters/auth/direct-auth-provider.js.map +1 -1
- package/dist/adapters/base-adapter.d.ts +31 -598
- package/dist/adapters/base-adapter.d.ts.map +1 -1
- package/dist/adapters/base-adapter.js +10 -458
- package/dist/adapters/base-adapter.js.map +1 -1
- package/dist/adapters/index.d.ts +1 -11
- package/dist/adapters/index.d.ts.map +1 -1
- package/dist/adapters/index.js +1 -11
- package/dist/adapters/index.js.map +1 -1
- package/dist/adapters/mysql-adapter.d.ts +15 -541
- package/dist/adapters/mysql-adapter.d.ts.map +1 -1
- package/dist/adapters/mysql-adapter.js +24 -561
- package/dist/adapters/mysql-adapter.js.map +1 -1
- package/dist/adapters/postgresql-adapter.d.ts +15 -203
- package/dist/adapters/postgresql-adapter.d.ts.map +1 -1
- package/dist/adapters/postgresql-adapter.js +24 -223
- package/dist/adapters/postgresql-adapter.js.map +1 -1
- package/dist/adapters/sqlite-adapter.d.ts +4 -28
- package/dist/adapters/sqlite-adapter.d.ts.map +1 -1
- package/dist/adapters/sqlite-adapter.js +4 -32
- package/dist/adapters/sqlite-adapter.js.map +1 -1
- package/dist/adapters/types.d.ts +1 -4
- package/dist/adapters/types.d.ts.map +1 -1
- package/dist/backend/backend-factory.d.ts +3 -3
- package/dist/backend/backend-factory.js +3 -3
- package/dist/backend/local-backend.d.ts.map +1 -1
- package/dist/backend/local-backend.js +0 -5
- package/dist/backend/local-backend.js.map +1 -1
- package/dist/cli/db-export.d.ts.map +1 -1
- package/dist/cli/db-export.js +54 -32
- package/dist/cli/db-export.js.map +1 -1
- package/dist/cli/db-import.d.ts.map +1 -1
- package/dist/cli/db-import.js +32 -31
- package/dist/cli/db-import.js.map +1 -1
- package/dist/cli/hooks/pr-adr.d.ts +22 -0
- package/dist/cli/hooks/pr-adr.d.ts.map +1 -0
- package/dist/cli/hooks/pr-adr.js +72 -0
- package/dist/cli/hooks/pr-adr.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +9 -13
- package/dist/cli.js.map +1 -1
- package/dist/config/cloud-config-loader.d.ts +8 -8
- package/dist/config/cloud-config-loader.d.ts.map +1 -1
- package/dist/config/cloud-config-loader.js +12 -12
- package/dist/config/cloud-config-loader.js.map +1 -1
- package/dist/config/global-config.d.ts +17 -45
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +169 -30
- package/dist/config/global-config.js.map +1 -1
- package/dist/config/loader.d.ts +1 -18
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +1 -89
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +2 -64
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +0 -18
- package/dist/config/types.js.map +1 -1
- package/dist/database/index.d.ts +1 -2
- package/dist/database/index.d.ts.map +1 -1
- package/dist/database/index.js +1 -3
- package/dist/database/index.js.map +1 -1
- package/dist/database/operations/queries.d.ts +0 -4
- package/dist/database/operations/queries.d.ts.map +1 -1
- package/dist/database/operations/queries.js +0 -8
- package/dist/database/operations/queries.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/dist/init-rules.d.ts.map +1 -1
- package/dist/init-rules.js +0 -1
- package/dist/init-rules.js.map +1 -1
- package/dist/knexfile.d.ts.map +1 -1
- package/dist/knexfile.js +2 -1
- package/dist/knexfile.js.map +1 -1
- package/dist/migration/local-to-global.d.ts +19 -0
- package/dist/migration/local-to-global.d.ts.map +1 -0
- package/dist/migration/local-to-global.js +133 -0
- package/dist/migration/local-to-global.js.map +1 -0
- package/dist/saas-connector/client/types.d.ts +1 -1
- package/dist/saas-connector/client/types.d.ts.map +1 -1
- package/dist/schema.js +1 -1
- package/dist/server/setup.d.ts.map +1 -1
- package/dist/server/setup.js +15 -7
- package/dist/server/setup.js.map +1 -1
- package/dist/tests/backend/backend-factory.test.js +2 -2
- package/dist/tests/backend/backend-factory.test.js.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.d.ts +2 -17
- package/dist/tests/docker/native/constraint-operations.test.d.ts.map +1 -1
- package/dist/tests/docker/native/constraint-operations.test.js +3 -82
- package/dist/tests/docker/native/constraint-operations.test.js.map +1 -1
- package/dist/tests/docker/native/db-init.d.ts +3 -34
- package/dist/tests/docker/native/db-init.d.ts.map +1 -1
- package/dist/tests/docker/native/db-init.js +15 -77
- package/dist/tests/docker/native/db-init.js.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.d.ts +2 -10
- package/dist/tests/docker/native/decision-operations.test.d.ts.map +1 -1
- package/dist/tests/docker/native/decision-operations.test.js +2 -84
- package/dist/tests/docker/native/decision-operations.test.js.map +1 -1
- package/dist/tests/docker/native/help-system.test.d.ts +2 -5
- package/dist/tests/docker/native/help-system.test.d.ts.map +1 -1
- package/dist/tests/docker/native/help-system.test.js +2 -47
- package/dist/tests/docker/native/help-system.test.js.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.d.ts +3 -11
- package/dist/tests/docker/native/suggest-tool.test.d.ts.map +1 -1
- package/dist/tests/docker/native/suggest-tool.test.js +3 -60
- package/dist/tests/docker/native/suggest-tool.test.js.map +1 -1
- package/dist/tests/docker/native/test-harness.d.ts +2 -23
- package/dist/tests/docker/native/test-harness.d.ts.map +1 -1
- package/dist/tests/docker/native/test-harness.js +5 -59
- package/dist/tests/docker/native/test-harness.js.map +1 -1
- package/dist/tests/feature/decision/analytics.test.js +2 -1
- package/dist/tests/feature/decision/analytics.test.js.map +1 -1
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js +2 -7
- package/dist/tests/feature/decision/batch-validation-comprehensive.test.js.map +1 -1
- package/dist/tests/feature/decision/batch-validation.test.js +2 -1
- package/dist/tests/feature/decision/batch-validation.test.js.map +1 -1
- package/dist/tests/integration/auto-trigger-suggestions.test.js +4 -37
- package/dist/tests/integration/auto-trigger-suggestions.test.js.map +1 -1
- package/dist/tests/integration/hybrid-similarity-detection.test.js +2 -1
- package/dist/tests/integration/hybrid-similarity-detection.test.js.map +1 -1
- package/dist/tests/integration/json-export-import.test.d.ts.map +1 -0
- package/dist/tests/integration/json-export-import.test.js.map +1 -0
- package/dist/tests/unit/case-insensitive-validator.test.d.ts +0 -7
- package/dist/tests/unit/case-insensitive-validator.test.d.ts.map +1 -1
- package/dist/tests/unit/case-insensitive-validator.test.js +0 -22
- package/dist/tests/unit/case-insensitive-validator.test.js.map +1 -1
- package/dist/tests/unit/config/cloud-config-loader.test.js +4 -2
- package/dist/tests/unit/config/cloud-config-loader.test.js.map +1 -1
- package/dist/tests/unit/config/global-db-migration.test.d.ts +12 -0
- package/dist/tests/unit/config/global-db-migration.test.d.ts.map +1 -0
- package/dist/tests/unit/config/global-db-migration.test.js +117 -0
- package/dist/tests/unit/config/global-db-migration.test.js.map +1 -0
- package/dist/tests/unit/constraint-scorer.test.d.ts +2 -7
- package/dist/tests/unit/constraint-scorer.test.d.ts.map +1 -1
- package/dist/tests/unit/constraint-scorer.test.js +2 -28
- package/dist/tests/unit/constraint-scorer.test.js.map +1 -1
- package/dist/tests/unit/universal-knex.test.js +9 -0
- package/dist/tests/unit/universal-knex.test.js.map +1 -1
- package/dist/tests/unit/validation/parameter-validation.test.js +0 -24
- package/dist/tests/unit/validation/parameter-validation.test.js.map +1 -1
- package/dist/tests/utils/db-config.d.ts.map +1 -1
- package/dist/tests/utils/db-config.js +0 -9
- package/dist/tests/utils/db-config.js.map +1 -1
- package/dist/tests/utils/db-import.d.ts.map +1 -1
- package/dist/tests/utils/db-import.js +0 -3
- package/dist/tests/utils/db-import.js.map +1 -1
- package/dist/tests/utils/db-schema.d.ts.map +1 -1
- package/dist/tests/utils/db-schema.js +48 -51
- package/dist/tests/utils/db-schema.js.map +1 -1
- package/dist/tests/utils/db-seeding.d.ts.map +1 -1
- package/dist/tests/utils/db-seeding.js +0 -3
- package/dist/tests/utils/db-seeding.js.map +1 -1
- package/dist/tests/utils/index.d.ts +0 -1
- package/dist/tests/utils/index.d.ts.map +1 -1
- package/dist/tests/utils/index.js +0 -2
- package/dist/tests/utils/index.js.map +1 -1
- package/dist/tests/utils/test-helpers.d.ts +6 -76
- package/dist/tests/utils/test-helpers.d.ts.map +1 -1
- package/dist/tests/utils/test-helpers.js +56 -162
- package/dist/tests/utils/test-helpers.js.map +1 -1
- package/dist/tests/utils/test-lifecycle.d.ts +2 -28
- package/dist/tests/utils/test-lifecycle.d.ts.map +1 -1
- package/dist/tests/utils/test-lifecycle.js +2 -31
- package/dist/tests/utils/test-lifecycle.js.map +1 -1
- package/dist/tools/context/index.d.ts +0 -1
- package/dist/tools/context/index.d.ts.map +1 -1
- package/dist/tools/context/index.js +0 -2
- package/dist/tools/context/index.js.map +1 -1
- package/dist/tools/context/types.d.ts +1 -1
- package/dist/tools/context/types.d.ts.map +1 -1
- package/dist/types/actions.d.ts +6 -29
- package/dist/types/actions.d.ts.map +1 -1
- package/dist/types/actions.js +1 -2
- package/dist/types/actions.js.map +1 -1
- package/dist/types/constraint/params.d.ts +24 -1
- package/dist/types/constraint/params.d.ts.map +1 -1
- package/dist/types/constraint/params.js +3 -0
- package/dist/types/constraint/params.js.map +1 -1
- package/dist/types/constraint/responses.d.ts +18 -1
- package/dist/types/constraint/responses.d.ts.map +1 -1
- package/dist/types/constraint/responses.js +3 -0
- package/dist/types/constraint/responses.js.map +1 -1
- package/dist/types/decision/batch.d.ts +2 -5
- package/dist/types/decision/batch.d.ts.map +1 -1
- package/dist/types/decision/batch.js +3 -3
- package/dist/types/decision/batch.js.map +1 -1
- package/dist/types/decision/params.d.ts +7 -4
- package/dist/types/decision/params.d.ts.map +1 -1
- package/dist/types/decision/responses.d.ts +49 -35
- package/dist/types/decision/responses.d.ts.map +1 -1
- package/dist/types/decision/templates.d.ts +2 -18
- package/dist/types/decision/templates.d.ts.map +1 -1
- package/dist/types/decision/templates.js +3 -3
- package/dist/types/decision/templates.js.map +1 -1
- package/dist/types/enums.d.ts +11 -13
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +5 -13
- package/dist/types/enums.js.map +1 -1
- package/dist/types/import-export.d.ts +7 -30
- package/dist/types/import-export.d.ts.map +1 -1
- package/dist/types/import-export.js +1 -2
- package/dist/types/import-export.js.map +1 -1
- package/dist/types/index.d.ts +18 -22
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -32
- package/dist/types/index.js.map +1 -1
- package/dist/types/master-entities.d.ts +1 -10
- package/dist/types/master-entities.d.ts.map +1 -1
- package/dist/types/master-entities.js +1 -2
- package/dist/types/master-entities.js.map +1 -1
- package/dist/types/transaction-entities.d.ts +2 -21
- package/dist/types/transaction-entities.d.ts.map +1 -1
- package/dist/types/transaction-entities.js +1 -1
- package/dist/types/validation.d.ts +1 -16
- package/dist/types/validation.d.ts.map +1 -1
- package/dist/types/validation.js +1 -2
- package/dist/types/validation.js.map +1 -1
- package/dist/types/view-entities.d.ts +3 -12
- package/dist/types/view-entities.d.ts.map +1 -1
- package/dist/types/view-entities.js +1 -1
- package/dist/types.d.ts +4 -718
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -39
- package/dist/types.js.map +1 -1
- package/dist/utils/parameter-validator.d.ts +2 -2
- package/dist/utils/parameter-validator.d.ts.map +1 -1
- package/dist/utils/parameter-validator.js.map +1 -1
- package/docs/ADR_CONCEPTS.md +66 -58
- package/docs/CLI_USAGE.md +392 -0
- package/docs/CONFIGURATION.md +157 -922
- package/docs/CROSS_DATABASE.md +1 -88
- package/docs/DATABASE_AUTH.md +24 -47
- package/docs/HOOKS_GUIDE.md +40 -112
- package/docs/MIGRATION_TO_SAAS.md +3 -3
- package/docs/SHARED_DATABASE.md +108 -0
- package/package.json +4 -3
- package/dist/adapters/auth/auth-types.d.ts +0 -30
- package/dist/adapters/auth/auth-types.d.ts.map +0 -1
- package/dist/adapters/auth/auth-types.js +0 -30
- package/dist/adapters/auth/auth-types.js.map +0 -1
- package/dist/cli/db-dump.d.ts +0 -36
- package/dist/cli/db-dump.d.ts.map +0 -1
- package/dist/cli/db-dump.js +0 -384
- package/dist/cli/db-dump.js.map +0 -1
- package/dist/database/config/config-ops.d.ts +0 -42
- package/dist/database/config/config-ops.d.ts.map +0 -1
- package/dist/database/config/config-ops.js +0 -102
- package/dist/database/config/config-ops.js.map +0 -1
- package/dist/formatters/adr-formatter.d.ts +0 -22
- package/dist/formatters/adr-formatter.d.ts.map +0 -1
- package/dist/formatters/adr-formatter.js +0 -127
- package/dist/formatters/adr-formatter.js.map +0 -1
- package/dist/formatters/confluence-formatter.d.ts +0 -26
- package/dist/formatters/confluence-formatter.d.ts.map +0 -1
- package/dist/formatters/confluence-formatter.js +0 -129
- package/dist/formatters/confluence-formatter.js.map +0 -1
- package/dist/formatters/index.d.ts +0 -34
- package/dist/formatters/index.d.ts.map +0 -1
- package/dist/formatters/index.js +0 -57
- package/dist/formatters/index.js.map +0 -1
- package/dist/formatters/markdown-formatter.d.ts +0 -16
- package/dist/formatters/markdown-formatter.d.ts.map +0 -1
- package/dist/formatters/markdown-formatter.js +0 -110
- package/dist/formatters/markdown-formatter.js.map +0 -1
- package/dist/formatters/notion-formatter.d.ts +0 -29
- package/dist/formatters/notion-formatter.d.ts.map +0 -1
- package/dist/formatters/notion-formatter.js +0 -177
- package/dist/formatters/notion-formatter.js.map +0 -1
- package/dist/formatters/types.d.ts +0 -31
- package/dist/formatters/types.d.ts.map +0 -1
- package/dist/formatters/types.js +0 -6
- package/dist/formatters/types.js.map +0 -1
- package/dist/tests/database/sql-dump/converters.test.d.ts +0 -7
- package/dist/tests/database/sql-dump/converters.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/converters.test.js +0 -314
- package/dist/tests/database/sql-dump/converters.test.js.map +0 -1
- package/dist/tests/database/sql-dump/default-conversions.test.d.ts +0 -8
- package/dist/tests/database/sql-dump/default-conversions.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/default-conversions.test.js +0 -141
- package/dist/tests/database/sql-dump/default-conversions.test.js.map +0 -1
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts +0 -27
- package/dist/tests/database/sql-dump/table-ordering.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/table-ordering.test.js +0 -284
- package/dist/tests/database/sql-dump/table-ordering.test.js.map +0 -1
- package/dist/tests/database/sql-dump/type-conversion.test.d.ts +0 -8
- package/dist/tests/database/sql-dump/type-conversion.test.d.ts.map +0 -1
- package/dist/tests/database/sql-dump/type-conversion.test.js +0 -361
- package/dist/tests/database/sql-dump/type-conversion.test.js.map +0 -1
- package/dist/tests/docker/cross-database.test.d.ts +0 -21
- package/dist/tests/docker/cross-database.test.d.ts.map +0 -1
- package/dist/tests/docker/cross-database.test.js +0 -308
- package/dist/tests/docker/cross-database.test.js.map +0 -1
- package/dist/tests/docker/dump-import.test.d.ts +0 -15
- package/dist/tests/docker/dump-import.test.d.ts.map +0 -1
- package/dist/tests/docker/dump-import.test.js +0 -424
- package/dist/tests/docker/dump-import.test.js.map +0 -1
- package/dist/tests/docker/fk-constraints.test.d.ts +0 -13
- package/dist/tests/docker/fk-constraints.test.d.ts.map +0 -1
- package/dist/tests/docker/fk-constraints.test.js +0 -381
- package/dist/tests/docker/fk-constraints.test.js.map +0 -1
- package/dist/tests/docker/indexes.test.d.ts +0 -12
- package/dist/tests/docker/indexes.test.d.ts.map +0 -1
- package/dist/tests/docker/indexes.test.js +0 -250
- package/dist/tests/docker/indexes.test.js.map +0 -1
- package/dist/tests/docker/integration.test.d.ts +0 -16
- package/dist/tests/docker/integration.test.d.ts.map +0 -1
- package/dist/tests/docker/integration.test.js +0 -323
- package/dist/tests/docker/integration.test.js.map +0 -1
- package/dist/tests/docker/multi-project-migration.test.d.ts +0 -17
- package/dist/tests/docker/multi-project-migration.test.d.ts.map +0 -1
- package/dist/tests/docker/multi-project-migration.test.js +0 -394
- package/dist/tests/docker/multi-project-migration.test.js.map +0 -1
- package/dist/tests/docker/schema-migration.test.d.ts +0 -8
- package/dist/tests/docker/schema-migration.test.d.ts.map +0 -1
- package/dist/tests/docker/schema-migration.test.js +0 -98
- package/dist/tests/docker/schema-migration.test.js.map +0 -1
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts +0 -5
- package/dist/tests/integration/e2e-workflow1-debug.test.d.ts.map +0 -1
- package/dist/tests/integration/e2e-workflow1-debug.test.js +0 -85
- package/dist/tests/integration/e2e-workflow1-debug.test.js.map +0 -1
- package/dist/tests/integration/suggest-simple.test.d.ts +0 -5
- package/dist/tests/integration/suggest-simple.test.d.ts.map +0 -1
- package/dist/tests/integration/suggest-simple.test.js +0 -90
- package/dist/tests/integration/suggest-simple.test.js.map +0 -1
- package/dist/tests/migrations/test-all-versions-real.d.ts +0 -8
- package/dist/tests/migrations/test-all-versions-real.d.ts.map +0 -1
- package/dist/tests/migrations/test-all-versions-real.js +0 -236
- package/dist/tests/migrations/test-all-versions-real.js.map +0 -1
- package/dist/tests/migrations/test-all-versions.d.ts +0 -14
- package/dist/tests/migrations/test-all-versions.d.ts.map +0 -1
- package/dist/tests/migrations/test-all-versions.js +0 -519
- package/dist/tests/migrations/test-all-versions.js.map +0 -1
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts +0 -7
- package/dist/tests/migrations/v4/v4-fresh-install.test.d.ts.map +0 -1
- package/dist/tests/migrations/v4/v4-fresh-install.test.js +0 -168
- package/dist/tests/migrations/v4/v4-fresh-install.test.js.map +0 -1
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts +0 -13
- package/dist/tests/migrations/v4/v4-migrate-data.test.d.ts.map +0 -1
- package/dist/tests/migrations/v4/v4-migrate-data.test.js +0 -264
- package/dist/tests/migrations/v4/v4-migrate-data.test.js.map +0 -1
- package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts +0 -2
- package/dist/tests/unit/utils/case-insensitive-validator.test.d.ts.map +0 -1
- package/dist/tests/unit/utils/case-insensitive-validator.test.js +0 -97
- package/dist/tests/unit/utils/case-insensitive-validator.test.js.map +0 -1
- package/dist/tests/utils/json-export-import.test.d.ts.map +0 -1
- package/dist/tests/utils/json-export-import.test.js.map +0 -1
- package/dist/tests/utils/task-helpers.d.ts +0 -67
- package/dist/tests/utils/task-helpers.d.ts.map +0 -1
- package/dist/tests/utils/task-helpers.js +0 -134
- package/dist/tests/utils/task-helpers.js.map +0 -1
- package/dist/tools/context/actions/export.d.ts +0 -35
- package/dist/tools/context/actions/export.d.ts.map +0 -1
- package/dist/tools/context/actions/export.js +0 -93
- package/dist/tools/context/actions/export.js.map +0 -1
- package/dist/types/file/params.d.ts +0 -40
- package/dist/types/file/params.d.ts.map +0 -1
- package/dist/types/file/params.js +0 -6
- package/dist/types/file/params.js.map +0 -1
- package/dist/types/file/responses.d.ts +0 -2
- package/dist/types/file/responses.d.ts.map +0 -1
- package/dist/types/file/responses.js +0 -2
- package/dist/types/file/responses.js.map +0 -1
- package/dist/types/task/params.d.ts +0 -173
- package/dist/types/task/params.d.ts.map +0 -1
- package/dist/types/task/params.js +0 -8
- package/dist/types/task/params.js.map +0 -1
- package/dist/types/task/responses.d.ts +0 -334
- package/dist/types/task/responses.d.ts.map +0 -1
- package/dist/types/task/responses.js +0 -8
- package/dist/types/task/responses.js.map +0 -1
- package/dist/utils/sql-dump/core/dependency-sort.d.ts +0 -16
- package/dist/utils/sql-dump/core/dependency-sort.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/dependency-sort.js +0 -105
- package/dist/utils/sql-dump/core/dependency-sort.js.map +0 -1
- package/dist/utils/sql-dump/core/generate-dump.d.ts +0 -13
- package/dist/utils/sql-dump/core/generate-dump.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/generate-dump.js +0 -201
- package/dist/utils/sql-dump/core/generate-dump.js.map +0 -1
- package/dist/utils/sql-dump/core/index-export.d.ts +0 -10
- package/dist/utils/sql-dump/core/index-export.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/index-export.js +0 -173
- package/dist/utils/sql-dump/core/index-export.js.map +0 -1
- package/dist/utils/sql-dump/core/sequence-reset.d.ts +0 -6
- package/dist/utils/sql-dump/core/sequence-reset.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/sequence-reset.js +0 -28
- package/dist/utils/sql-dump/core/sequence-reset.js.map +0 -1
- package/dist/utils/sql-dump/core/table-export.d.ts +0 -2
- package/dist/utils/sql-dump/core/table-export.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/table-export.js +0 -4
- package/dist/utils/sql-dump/core/table-export.js.map +0 -1
- package/dist/utils/sql-dump/core/view-export.d.ts +0 -2
- package/dist/utils/sql-dump/core/view-export.d.ts.map +0 -1
- package/dist/utils/sql-dump/core/view-export.js +0 -4
- package/dist/utils/sql-dump/core/view-export.js.map +0 -1
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts +0 -14
- package/dist/utils/sql-dump/formatters/bulk-insert.d.ts.map +0 -1
- package/dist/utils/sql-dump/formatters/bulk-insert.js +0 -177
- package/dist/utils/sql-dump/formatters/bulk-insert.js.map +0 -1
- package/dist/utils/sql-dump/formatters/identifiers.d.ts +0 -6
- package/dist/utils/sql-dump/formatters/identifiers.d.ts.map +0 -1
- package/dist/utils/sql-dump/formatters/identifiers.js +0 -16
- package/dist/utils/sql-dump/formatters/identifiers.js.map +0 -1
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts +0 -14
- package/dist/utils/sql-dump/formatters/value-formatter.d.ts.map +0 -1
- package/dist/utils/sql-dump/formatters/value-formatter.js +0 -281
- package/dist/utils/sql-dump/formatters/value-formatter.js.map +0 -1
- package/dist/utils/sql-dump/generators/controls.d.ts +0 -10
- package/dist/utils/sql-dump/generators/controls.d.ts.map +0 -1
- package/dist/utils/sql-dump/generators/controls.js +0 -36
- package/dist/utils/sql-dump/generators/controls.js.map +0 -1
- package/dist/utils/sql-dump/generators/headers.d.ts +0 -6
- package/dist/utils/sql-dump/generators/headers.d.ts.map +0 -1
- package/dist/utils/sql-dump/generators/headers.js +0 -19
- package/dist/utils/sql-dump/generators/headers.js.map +0 -1
- package/dist/utils/sql-dump/index.d.ts +0 -14
- package/dist/utils/sql-dump/index.d.ts.map +0 -1
- package/dist/utils/sql-dump/index.js +0 -16
- package/dist/utils/sql-dump/index.js.map +0 -1
- package/dist/utils/sql-dump/schema/indexes.d.ts +0 -20
- package/dist/utils/sql-dump/schema/indexes.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/indexes.js +0 -108
- package/dist/utils/sql-dump/schema/indexes.js.map +0 -1
- package/dist/utils/sql-dump/schema/primary-keys.d.ts +0 -6
- package/dist/utils/sql-dump/schema/primary-keys.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/primary-keys.js +0 -41
- package/dist/utils/sql-dump/schema/primary-keys.js.map +0 -1
- package/dist/utils/sql-dump/schema/tables.d.ts +0 -15
- package/dist/utils/sql-dump/schema/tables.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/tables.js +0 -518
- package/dist/utils/sql-dump/schema/tables.js.map +0 -1
- package/dist/utils/sql-dump/schema/views.d.ts +0 -11
- package/dist/utils/sql-dump/schema/views.d.ts.map +0 -1
- package/dist/utils/sql-dump/schema/views.js +0 -116
- package/dist/utils/sql-dump/schema/views.js.map +0 -1
- package/dist/utils/sql-dump/types.d.ts +0 -10
- package/dist/utils/sql-dump/types.d.ts.map +0 -1
- package/dist/utils/sql-dump/types.js +0 -3
- package/dist/utils/sql-dump/types.js.map +0 -1
- package/dist/utils/sql-dump-converters.d.ts +0 -188
- package/dist/utils/sql-dump-converters.d.ts.map +0 -1
- package/dist/utils/sql-dump-converters.js +0 -315
- package/dist/utils/sql-dump-converters.js.map +0 -1
- package/dist/watcher/gitignore-parser.d.ts +0 -70
- package/dist/watcher/gitignore-parser.d.ts.map +0 -1
- package/dist/watcher/gitignore-parser.js +0 -195
- package/dist/watcher/gitignore-parser.js.map +0 -1
- package/dist/watcher/index.d.ts +0 -9
- package/dist/watcher/index.d.ts.map +0 -1
- package/dist/watcher/index.js +0 -8
- package/dist/watcher/index.js.map +0 -1
- package/docs/HOW_TO_UNINSTALL.md +0 -199
- package/docs/MIGRATION_CLEANUP_GUIDE.md +0 -212
- package/docs/SLASH_COMMANDS.md +0 -329
- package/docs/cli/DATABASE_MIGRATION.md +0 -290
- package/docs/cli/DATA_EXPORT_IMPORT.md +0 -701
- package/docs/cli/README.md +0 -276
- /package/dist/tests/{utils → integration}/json-export-import.test.d.ts +0 -0
- /package/dist/tests/{utils → integration}/json-export-import.test.js +0 -0
|
@@ -1,23 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Constraint Operations - Native RDBMS Integration Tests
|
|
3
3
|
*
|
|
4
|
-
* Tests constraint
|
|
5
|
-
* MySQL, MariaDB, and PostgreSQL
|
|
6
|
-
*
|
|
7
|
-
* Task #531: Refactor to use direct Knex operations instead of MCP tool calls
|
|
8
|
-
*
|
|
9
|
-
* Key Tests:
|
|
10
|
-
* - Basic constraint insertion with required fields
|
|
11
|
-
* - Foreign key constraint enforcement (category_id, layer_id)
|
|
12
|
-
* - UNIQUE constraint on (constraint_text, project_id)
|
|
13
|
-
* - Priority levels (1-4)
|
|
14
|
-
* - active flag (0/1)
|
|
15
|
-
* - Rationale field
|
|
16
|
-
* - Tag associations via t_constraint_tags
|
|
17
|
-
* - Filtering by layer, category, priority, tags
|
|
18
|
-
* - Deactivation (active = 0)
|
|
19
|
-
* - View functionality (v_tagged_constraints)
|
|
20
|
-
* - Cross-database compatibility (text, special characters, unicode)
|
|
4
|
+
* Tests constraint CRUD, FK enforcement, tag associations, and filtering
|
|
5
|
+
* via direct Knex operations on MySQL, MariaDB, and PostgreSQL.
|
|
21
6
|
*/
|
|
22
7
|
export {};
|
|
23
8
|
//# sourceMappingURL=constraint-operations.test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint-operations.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/constraint-operations.test.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constraint-operations.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/constraint-operations.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1,23 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Constraint Operations - Native RDBMS Integration Tests
|
|
3
3
|
*
|
|
4
|
-
* Tests constraint
|
|
5
|
-
* MySQL, MariaDB, and PostgreSQL
|
|
6
|
-
*
|
|
7
|
-
* Task #531: Refactor to use direct Knex operations instead of MCP tool calls
|
|
8
|
-
*
|
|
9
|
-
* Key Tests:
|
|
10
|
-
* - Basic constraint insertion with required fields
|
|
11
|
-
* - Foreign key constraint enforcement (category_id, layer_id)
|
|
12
|
-
* - UNIQUE constraint on (constraint_text, project_id)
|
|
13
|
-
* - Priority levels (1-4)
|
|
14
|
-
* - active flag (0/1)
|
|
15
|
-
* - Rationale field
|
|
16
|
-
* - Tag associations via t_constraint_tags
|
|
17
|
-
* - Filtering by layer, category, priority, tags
|
|
18
|
-
* - Deactivation (active = 0)
|
|
19
|
-
* - View functionality (v_tagged_constraints)
|
|
20
|
-
* - Cross-database compatibility (text, special characters, unicode)
|
|
4
|
+
* Tests constraint CRUD, FK enforcement, tag associations, and filtering
|
|
5
|
+
* via direct Knex operations on MySQL, MariaDB, and PostgreSQL.
|
|
21
6
|
*/
|
|
22
7
|
import { describe, it } from 'node:test';
|
|
23
8
|
import assert from 'node:assert';
|
|
@@ -40,9 +25,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
40
25
|
let tagApiId;
|
|
41
26
|
let tagPerformanceId;
|
|
42
27
|
let tagSecurityId;
|
|
43
|
-
// ============================================================================
|
|
44
|
-
// Cross-database compatible insert helper
|
|
45
|
-
// ============================================================================
|
|
46
28
|
// PostgreSQL doesn't return insert ID like MySQL/MariaDB, so we query after insert
|
|
47
29
|
async function insertConstraint(db, data) {
|
|
48
30
|
const constraintText = data.constraint_text;
|
|
@@ -53,16 +35,11 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
53
35
|
.first();
|
|
54
36
|
return inserted.id;
|
|
55
37
|
}
|
|
56
|
-
// ============================================================================
|
|
57
|
-
// Setup: Get Master Data IDs
|
|
58
|
-
// ============================================================================
|
|
59
38
|
it('should get project ID and master data', async () => {
|
|
60
39
|
const db = getDb();
|
|
61
|
-
// Get project ID
|
|
62
40
|
const project = await db('m_projects').where({ id: 1 }).first();
|
|
63
41
|
assert.ok(project, 'Project should exist');
|
|
64
42
|
projectId = project.id;
|
|
65
|
-
// Get layer IDs
|
|
66
43
|
const businessLayer = await db('m_layers').where({ name: 'business' }).first();
|
|
67
44
|
assert.ok(businessLayer, 'Business layer should exist');
|
|
68
45
|
businessLayerId = businessLayer.id;
|
|
@@ -75,7 +52,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
75
52
|
const crossCuttingLayer = await db('m_layers').where({ name: 'cross-cutting' }).first();
|
|
76
53
|
assert.ok(crossCuttingLayer, 'Cross-cutting layer should exist');
|
|
77
54
|
crossCuttingLayerId = crossCuttingLayer.id;
|
|
78
|
-
// Get or create constraint categories
|
|
79
55
|
// Note: Use query-after-insert pattern for cross-database compatibility
|
|
80
56
|
// (PostgreSQL doesn't return insert ID like MySQL/MariaDB)
|
|
81
57
|
const getOrCreateCategory = async (name) => {
|
|
@@ -94,7 +70,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
94
70
|
categoryCodeStyleId = await getOrCreateCategory('code-style');
|
|
95
71
|
categoryObsoleteId = await getOrCreateCategory('obsolete');
|
|
96
72
|
categoryTestId = await getOrCreateCategory('critical');
|
|
97
|
-
// Get tag IDs
|
|
98
73
|
const testTag = await db('m_tags').where({ name: 'test', project_id: projectId }).first();
|
|
99
74
|
assert.ok(testTag, 'Test tag should exist');
|
|
100
75
|
tagTestId = testTag.id;
|
|
@@ -108,9 +83,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
108
83
|
assert.ok(securityTag, 'Security tag should exist');
|
|
109
84
|
tagSecurityId = securityTag.id;
|
|
110
85
|
});
|
|
111
|
-
// ============================================================================
|
|
112
|
-
// Basic Constraint Operations
|
|
113
|
-
// ============================================================================
|
|
114
86
|
describe('Basic constraint insertion', () => {
|
|
115
87
|
it('should insert constraint with required fields', async () => {
|
|
116
88
|
const db = getDb();
|
|
@@ -125,7 +97,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
125
97
|
ts: Math.floor(Date.now() / 1000),
|
|
126
98
|
});
|
|
127
99
|
assert.ok(constraintId, 'Should return constraint ID');
|
|
128
|
-
// Verify constraint exists
|
|
129
100
|
const constraint = await db('t_constraints')
|
|
130
101
|
.where({ id: constraintId })
|
|
131
102
|
.first();
|
|
@@ -145,7 +116,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
145
116
|
active: 1,
|
|
146
117
|
ts: Math.floor(Date.now() / 1000),
|
|
147
118
|
});
|
|
148
|
-
// Verify constraint is stored with all fields
|
|
149
119
|
const constraint = await db('t_constraints')
|
|
150
120
|
.where({ id: constraintId })
|
|
151
121
|
.first();
|
|
@@ -155,7 +125,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
155
125
|
});
|
|
156
126
|
it('should handle different priority levels', async () => {
|
|
157
127
|
const db = getDb();
|
|
158
|
-
// Priority 1 (low)
|
|
159
128
|
const constraintTextLow = 'Low priority rule';
|
|
160
129
|
const p1Id = await insertConstraint(db, {
|
|
161
130
|
constraint_text: constraintTextLow,
|
|
@@ -166,7 +135,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
166
135
|
active: 1,
|
|
167
136
|
ts: Math.floor(Date.now() / 1000),
|
|
168
137
|
});
|
|
169
|
-
// Priority 4 (critical)
|
|
170
138
|
const constraintTextCritical = 'Critical security rule';
|
|
171
139
|
const p4Id = await insertConstraint(db, {
|
|
172
140
|
constraint_text: constraintTextCritical,
|
|
@@ -178,7 +146,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
178
146
|
ts: Math.floor(Date.now() / 1000),
|
|
179
147
|
});
|
|
180
148
|
assert.ok(p1Id && p4Id, 'Both constraints should be created');
|
|
181
|
-
// Verify priority values
|
|
182
149
|
const lowPriority = await db('t_constraints')
|
|
183
150
|
.where({ id: p1Id })
|
|
184
151
|
.first();
|
|
@@ -189,13 +156,9 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
189
156
|
assert.strictEqual(highPriority.priority, 4);
|
|
190
157
|
});
|
|
191
158
|
});
|
|
192
|
-
// ============================================================================
|
|
193
|
-
// Tag Associations
|
|
194
|
-
// ============================================================================
|
|
195
159
|
describe('Tag associations', () => {
|
|
196
160
|
it('should associate constraint with tags', async () => {
|
|
197
161
|
const db = getDb();
|
|
198
|
-
// Insert constraint
|
|
199
162
|
const constraintTextUnitTests = 'All components must have unit tests';
|
|
200
163
|
const constraintId = await insertConstraint(db, {
|
|
201
164
|
constraint_text: constraintTextUnitTests,
|
|
@@ -206,12 +169,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
206
169
|
active: 1,
|
|
207
170
|
ts: Math.floor(Date.now() / 1000),
|
|
208
171
|
});
|
|
209
|
-
// Associate with tags
|
|
210
172
|
await db('t_constraint_tags').insert([
|
|
211
173
|
{ constraint_id: constraintId, tag_id: tagTestId },
|
|
212
174
|
{ constraint_id: constraintId, tag_id: tagPerformanceId },
|
|
213
175
|
]);
|
|
214
|
-
// Verify tag associations
|
|
215
176
|
const tagAssociations = await db('t_constraint_tags')
|
|
216
177
|
.where({ constraint_id: constraintId })
|
|
217
178
|
.count('* as count')
|
|
@@ -221,17 +182,13 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
221
182
|
assert.strictEqual(Number(tagAssociations.count), 2, 'Should have 2 tag associations');
|
|
222
183
|
});
|
|
223
184
|
});
|
|
224
|
-
// ============================================================================
|
|
225
|
-
// Filtering and Retrieval
|
|
226
|
-
// ============================================================================
|
|
227
185
|
describe('Filtering constraints', () => {
|
|
228
186
|
it('should filter constraints by layer', async () => {
|
|
229
187
|
const db = getDb();
|
|
230
|
-
//
|
|
188
|
+
// Note: v4 schema does not have constraint_text_hash column
|
|
231
189
|
const constraintTextBusiness = 'Business layer rule';
|
|
232
190
|
await db('t_constraints').insert({
|
|
233
191
|
constraint_text: constraintTextBusiness,
|
|
234
|
-
// Note: v4 schema does not have constraint_text_hash column
|
|
235
192
|
category_id: categoryArchitectureId,
|
|
236
193
|
priority: 3,
|
|
237
194
|
layer_id: businessLayerId,
|
|
@@ -242,7 +199,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
242
199
|
const constraintTextData = 'Data layer rule';
|
|
243
200
|
await db('t_constraints').insert({
|
|
244
201
|
constraint_text: constraintTextData,
|
|
245
|
-
// Note: v4 schema does not have constraint_text_hash column
|
|
246
202
|
category_id: categoryArchitectureId,
|
|
247
203
|
priority: 3,
|
|
248
204
|
layer_id: dataLayerId,
|
|
@@ -250,7 +206,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
250
206
|
active: 1,
|
|
251
207
|
ts: Math.floor(Date.now() / 1000),
|
|
252
208
|
});
|
|
253
|
-
// Filter by business layer
|
|
254
209
|
const businessConstraints = await db('t_constraints')
|
|
255
210
|
.where({ layer_id: businessLayerId, active: 1, project_id: projectId })
|
|
256
211
|
.select('*');
|
|
@@ -262,7 +217,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
262
217
|
const constraintTextSecurity = 'Security constraint';
|
|
263
218
|
await db('t_constraints').insert({
|
|
264
219
|
constraint_text: constraintTextSecurity,
|
|
265
|
-
// Note: v4 schema does not have constraint_text_hash column
|
|
266
220
|
category_id: categorySecurityId,
|
|
267
221
|
priority: 4,
|
|
268
222
|
layer_id: businessLayerId,
|
|
@@ -273,7 +227,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
273
227
|
const constraintTextPerformance = 'Performance constraint';
|
|
274
228
|
await db('t_constraints').insert({
|
|
275
229
|
constraint_text: constraintTextPerformance,
|
|
276
|
-
// Note: v4 schema does not have constraint_text_hash column
|
|
277
230
|
category_id: categoryPerformanceId,
|
|
278
231
|
priority: 3,
|
|
279
232
|
layer_id: businessLayerId,
|
|
@@ -281,7 +234,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
281
234
|
active: 1,
|
|
282
235
|
ts: Math.floor(Date.now() / 1000),
|
|
283
236
|
});
|
|
284
|
-
// Filter by security category
|
|
285
237
|
const securityConstraints = await db('t_constraints')
|
|
286
238
|
.where({ category_id: categorySecurityId, active: 1, project_id: projectId })
|
|
287
239
|
.select('*');
|
|
@@ -293,7 +245,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
293
245
|
const constraintTextHighPriority = 'High priority constraint';
|
|
294
246
|
await db('t_constraints').insert({
|
|
295
247
|
constraint_text: constraintTextHighPriority,
|
|
296
|
-
// Note: v4 schema does not have constraint_text_hash column
|
|
297
248
|
category_id: categoryTestId,
|
|
298
249
|
priority: 4,
|
|
299
250
|
layer_id: businessLayerId,
|
|
@@ -304,7 +255,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
304
255
|
const constraintTextLowPriority = 'Low priority constraint';
|
|
305
256
|
await db('t_constraints').insert({
|
|
306
257
|
constraint_text: constraintTextLowPriority,
|
|
307
|
-
// Note: v4 schema does not have constraint_text_hash column
|
|
308
258
|
category_id: categoryStyleId,
|
|
309
259
|
priority: 1,
|
|
310
260
|
layer_id: presentationLayerId,
|
|
@@ -312,7 +262,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
312
262
|
active: 1,
|
|
313
263
|
ts: Math.floor(Date.now() / 1000),
|
|
314
264
|
});
|
|
315
|
-
// Filter by priority 4
|
|
316
265
|
const highPriorityConstraints = await db('t_constraints')
|
|
317
266
|
.where({ priority: 4, active: 1, project_id: projectId })
|
|
318
267
|
.select('*');
|
|
@@ -321,7 +270,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
321
270
|
});
|
|
322
271
|
it('should filter constraints by tags', async () => {
|
|
323
272
|
const db = getDb();
|
|
324
|
-
// Insert constraint
|
|
325
273
|
const constraintTextTagged = 'Tagged constraint 1';
|
|
326
274
|
const constraintId = await insertConstraint(db, {
|
|
327
275
|
constraint_text: constraintTextTagged,
|
|
@@ -332,12 +280,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
332
280
|
active: 1,
|
|
333
281
|
ts: Math.floor(Date.now() / 1000),
|
|
334
282
|
});
|
|
335
|
-
// Associate with tags
|
|
336
283
|
await db('t_constraint_tags').insert([
|
|
337
284
|
{ constraint_id: constraintId, tag_id: tagApiId },
|
|
338
285
|
{ constraint_id: constraintId, tag_id: tagTestId },
|
|
339
286
|
]);
|
|
340
|
-
// Filter by api tag
|
|
341
287
|
const apiTaggedConstraints = await db('t_constraints')
|
|
342
288
|
.join('t_constraint_tags', 't_constraints.id', 't_constraint_tags.constraint_id')
|
|
343
289
|
.where({
|
|
@@ -351,7 +297,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
351
297
|
});
|
|
352
298
|
it('should exclude deactivated constraints', async () => {
|
|
353
299
|
const db = getDb();
|
|
354
|
-
// Add and immediately deactivate a constraint
|
|
355
300
|
const constraintTextDeactivated = 'Deactivated constraint';
|
|
356
301
|
const constraintId = await insertConstraint(db, {
|
|
357
302
|
constraint_text: constraintTextDeactivated,
|
|
@@ -362,11 +307,9 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
362
307
|
active: 1,
|
|
363
308
|
ts: Math.floor(Date.now() / 1000),
|
|
364
309
|
});
|
|
365
|
-
// Deactivate
|
|
366
310
|
await db('t_constraints')
|
|
367
311
|
.where({ id: constraintId })
|
|
368
312
|
.update({ active: 0 });
|
|
369
|
-
// Get only active constraints
|
|
370
313
|
const activeConstraints = await db('t_constraints')
|
|
371
314
|
.where({ active: 1, project_id: projectId })
|
|
372
315
|
.select('*');
|
|
@@ -374,13 +317,9 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
374
317
|
assert.strictEqual(deactivatedConstraint, undefined, 'Should not include deactivated constraint');
|
|
375
318
|
});
|
|
376
319
|
});
|
|
377
|
-
// ============================================================================
|
|
378
|
-
// Deactivation
|
|
379
|
-
// ============================================================================
|
|
380
320
|
describe('Constraint deactivation', () => {
|
|
381
321
|
it('should deactivate constraint by ID', async () => {
|
|
382
322
|
const db = getDb();
|
|
383
|
-
// Add constraint
|
|
384
323
|
const constraintTextToDeactivate = 'Constraint to deactivate';
|
|
385
324
|
const constraintId = await insertConstraint(db, {
|
|
386
325
|
constraint_text: constraintTextToDeactivate,
|
|
@@ -391,12 +330,10 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
391
330
|
active: 1,
|
|
392
331
|
ts: Math.floor(Date.now() / 1000),
|
|
393
332
|
});
|
|
394
|
-
// Deactivate
|
|
395
333
|
const updateCount = await db('t_constraints')
|
|
396
334
|
.where({ id: constraintId, project_id: projectId })
|
|
397
335
|
.update({ active: 0 });
|
|
398
336
|
assert.strictEqual(updateCount, 1, 'Should update 1 row');
|
|
399
|
-
// Verify active flag is set to 0
|
|
400
337
|
const constraint = await db('t_constraints')
|
|
401
338
|
.where({ id: constraintId })
|
|
402
339
|
.first();
|
|
@@ -404,7 +341,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
404
341
|
});
|
|
405
342
|
it('should allow re-deactivating already deactivated constraint', async () => {
|
|
406
343
|
const db = getDb();
|
|
407
|
-
// Add and deactivate
|
|
408
344
|
const constraintTextReDeactivate = 'Re-deactivate test';
|
|
409
345
|
const constraintId = await insertConstraint(db, {
|
|
410
346
|
constraint_text: constraintTextReDeactivate,
|
|
@@ -418,7 +354,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
418
354
|
await db('t_constraints')
|
|
419
355
|
.where({ id: constraintId })
|
|
420
356
|
.update({ active: 0 });
|
|
421
|
-
// Deactivate again
|
|
422
357
|
const updateCount = await db('t_constraints')
|
|
423
358
|
.where({ id: constraintId })
|
|
424
359
|
.update({ active: 0 });
|
|
@@ -426,16 +361,12 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
426
361
|
assert.ok(updateCount >= 0, 'Should succeed on re-deactivation');
|
|
427
362
|
});
|
|
428
363
|
});
|
|
429
|
-
// ============================================================================
|
|
430
|
-
// Database Constraint Tests
|
|
431
|
-
// ============================================================================
|
|
432
364
|
describe('Database constraints', () => {
|
|
433
365
|
it('should enforce foreign key constraint on category_id', async () => {
|
|
434
366
|
const db = getDb();
|
|
435
367
|
const constraintTextFkCategory = 'Test constraint';
|
|
436
368
|
const insertPromise = db('t_constraints').insert({
|
|
437
369
|
constraint_text: constraintTextFkCategory,
|
|
438
|
-
// Note: v4 schema does not have constraint_text_hash column
|
|
439
370
|
category_id: 99999, // Non-existent category
|
|
440
371
|
priority: 2,
|
|
441
372
|
layer_id: businessLayerId,
|
|
@@ -478,16 +409,12 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
478
409
|
active: 1,
|
|
479
410
|
ts: Math.floor(Date.now() / 1000),
|
|
480
411
|
});
|
|
481
|
-
// Verify both were inserted
|
|
482
412
|
const constraints = await db('t_constraints')
|
|
483
413
|
.where({ constraint_text: constraintTextValue, project_id: projectId })
|
|
484
414
|
.select('id');
|
|
485
415
|
assert.strictEqual(constraints.length, 2, 'Should allow duplicate constraint_text in v4 schema');
|
|
486
416
|
});
|
|
487
417
|
});
|
|
488
|
-
// ============================================================================
|
|
489
|
-
// Cross-Database Compatibility Tests
|
|
490
|
-
// ============================================================================
|
|
491
418
|
describe(`Cross-database compatibility - ${dbType}`, () => {
|
|
492
419
|
it('should handle long rule text', async () => {
|
|
493
420
|
const db = getDb();
|
|
@@ -544,9 +471,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
544
471
|
assert.strictEqual(constraint.constraint_text, unicodeText);
|
|
545
472
|
});
|
|
546
473
|
});
|
|
547
|
-
// ============================================================================
|
|
548
|
-
// View Functionality Tests
|
|
549
|
-
// ============================================================================
|
|
550
474
|
describe('View functionality', () => {
|
|
551
475
|
it('should query active constraints via v_tagged_constraints view (if exists)', async () => {
|
|
552
476
|
const db = getDb();
|
|
@@ -556,7 +480,6 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
556
480
|
// Skip test if view doesn't exist
|
|
557
481
|
return;
|
|
558
482
|
}
|
|
559
|
-
// Insert test constraint
|
|
560
483
|
const constraintTextViewTest = 'View test constraint';
|
|
561
484
|
const constraintId = await insertConstraint(db, {
|
|
562
485
|
constraint_text: constraintTextViewTest,
|
|
@@ -567,11 +490,9 @@ runTestsOnAllDatabases('Constraint Operations', (getDb, dbType) => {
|
|
|
567
490
|
active: 1,
|
|
568
491
|
ts: Math.floor(Date.now() / 1000),
|
|
569
492
|
});
|
|
570
|
-
// Query view
|
|
571
493
|
const viewResults = await db('v_tagged_constraints')
|
|
572
494
|
.where({ active: 1 })
|
|
573
495
|
.select('*');
|
|
574
|
-
// Find our constraint in view results
|
|
575
496
|
const viewConstraint = viewResults.find((c) => c.constraint_text === 'View test constraint');
|
|
576
497
|
assert.ok(viewConstraint, 'Should find constraint in view');
|
|
577
498
|
assert.strictEqual(viewConstraint.priority, 3);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint-operations.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/constraint-operations.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constraint-operations.test.js","sourceRoot":"","sources":["../../../../src/tests/docker/native/constraint-operations.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Native RDBMS Database Initialization
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* MySQL, MariaDB, and PostgreSQL integration tests.
|
|
6
|
-
*
|
|
7
|
-
* Key Features:
|
|
8
|
-
* - Initialize fresh database with all migrations
|
|
9
|
-
* - Verify migration success
|
|
10
|
-
* - Clean teardown with proper disconnect
|
|
4
|
+
* Fresh database setup and teardown via Knex migrations
|
|
5
|
+
* for MySQL, MariaDB, and PostgreSQL integration tests.
|
|
11
6
|
*/
|
|
12
7
|
import { Knex } from 'knex';
|
|
13
8
|
import { type DatabaseType } from '../../database/testing-config.js';
|
|
14
9
|
/**
|
|
15
10
|
* Initialize fresh database with all Knex migrations
|
|
16
11
|
*
|
|
17
|
-
* This creates a clean database state by:
|
|
18
|
-
* 1. Connecting to the database
|
|
19
|
-
* 2. Running all migrations (bootstrap + upgrades + enhancements)
|
|
20
|
-
* 3. Verifying migration success
|
|
21
|
-
*
|
|
22
|
-
* @param dbType - Database type (mysql, mariadb, postgresql)
|
|
23
|
-
* @returns Knex instance connected to fresh database
|
|
24
|
-
*
|
|
25
|
-
* @throws Error if connection fails or migrations fail
|
|
26
|
-
*
|
|
27
12
|
* @example
|
|
28
13
|
* ```typescript
|
|
29
14
|
* const db = await initDatabase('postgresql');
|
|
@@ -34,28 +19,12 @@ import { type DatabaseType } from '../../database/testing-config.js';
|
|
|
34
19
|
export declare function initDatabase(dbType: DatabaseType): Promise<Knex>;
|
|
35
20
|
/**
|
|
36
21
|
* Verify that migrations completed successfully
|
|
37
|
-
*
|
|
38
|
-
* Checks:
|
|
39
|
-
* - knex_migrations table exists
|
|
40
|
-
* - At least one migration ran
|
|
41
|
-
* - Key tables exist (t_decisions, t_constraints)
|
|
42
|
-
*
|
|
43
|
-
* Note: v4_tasks removed in v5.0 (deprecated)
|
|
44
|
-
*
|
|
45
|
-
* @param db - Knex database connection
|
|
46
|
-
* @throws Error if verification fails
|
|
47
22
|
*/
|
|
48
23
|
export declare function verifyMigrations(db: Knex): Promise<void>;
|
|
49
24
|
/**
|
|
50
25
|
* Clean up database and disconnect
|
|
51
26
|
*
|
|
52
|
-
*
|
|
53
|
-
* 1. Drop all tables (including knex_migrations)
|
|
54
|
-
* 2. Disconnect from database
|
|
55
|
-
*
|
|
56
|
-
* Note: This is safe because tests use Docker containers with isolated databases.
|
|
57
|
-
*
|
|
58
|
-
* @param db - Knex database connection
|
|
27
|
+
* Safe because tests use Docker containers with isolated databases.
|
|
59
28
|
*/
|
|
60
29
|
export declare function teardownDatabase(db: Knex): Promise<void>;
|
|
61
30
|
//# sourceMappingURL=db-init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-init.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/db-init.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"db-init.d.ts","sourceRoot":"","sources":["../../../../src/tests/docker/native/db-init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAa,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAKlC,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAsBpF;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCtE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAa9D;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAY9D"}
|