sqlew 5.0.8 → 5.2.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 +56 -0
- package/README.md +19 -10
- 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/on-exit-plan.d.ts.map +1 -1
- package/dist/cli/hooks/on-exit-plan.js +42 -1
- package/dist/cli/hooks/on-exit-plan.js.map +1 -1
- package/dist/cli/hooks/on-prompt.d.ts.map +1 -1
- package/dist/cli/hooks/on-prompt.js +5 -0
- package/dist/cli/hooks/on-prompt.js.map +1 -1
- package/dist/cli/hooks/plan-processor.d.ts.map +1 -1
- package/dist/cli/hooks/plan-processor.js +16 -2
- package/dist/cli/hooks/plan-processor.js.map +1 -1
- package/dist/cli/hooks/stdin-parser.d.ts +41 -0
- package/dist/cli/hooks/stdin-parser.d.ts.map +1 -1
- package/dist/cli/hooks/stdin-parser.js +140 -4
- package/dist/cli/hooks/stdin-parser.js.map +1 -1
- package/dist/cli/hooks/track-plan.d.ts +13 -0
- package/dist/cli/hooks/track-plan.d.ts.map +1 -1
- package/dist/cli/hooks/track-plan.js +58 -3
- package/dist/cli/hooks/track-plan.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -12
- 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 +24 -46
- package/dist/config/global-config.d.ts.map +1 -1
- package/dist/config/global-config.js +174 -56
- 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/migrations/v4/20251126000001_v4_migrate_data.d.ts.map +1 -1
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.js +2 -1
- package/dist/database/migrations/v4/20251126000001_v4_migrate_data.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 +2 -2
- 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/hooks/grok-hook-normalization.test.d.ts +9 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.js +98 -0
- package/dist/tests/unit/hooks/grok-hook-normalization.test.js.map +1 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.d.ts +7 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.d.ts.map +1 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.js +55 -0
- package/dist/tests/unit/hooks/grok-plan-template-injection.test.js.map +1 -0
- 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/dist/utils/path-normalize.d.ts +23 -0
- package/dist/utils/path-normalize.d.ts.map +1 -0
- package/dist/utils/path-normalize.js +38 -0
- package/dist/utils/path-normalize.js.map +1 -0
- package/dist/utils/project-root.d.ts +6 -3
- package/dist/utils/project-root.d.ts.map +1 -1
- package/dist/utils/project-root.js +11 -3
- package/dist/utils/project-root.js.map +1 -1
- package/dist/watcher/base-watcher.d.ts +0 -4
- package/dist/watcher/base-watcher.d.ts.map +1 -1
- package/dist/watcher/base-watcher.js +11 -22
- package/dist/watcher/base-watcher.js.map +1 -1
- package/docs/CLI_USAGE.md +27 -107
- package/docs/CONFIGURATION.md +10 -5
- package/docs/DATABASE_AUTH.md +3 -3
- package/docs/HOOKS_GUIDE.md +40 -6
- package/docs/MIGRATION_TO_SAAS.md +2 -2
- 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/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,308 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Automated Cross-Database SQL Dump Export/Import Tests
|
|
3
|
-
*
|
|
4
|
-
* Tests complete export/import workflow:
|
|
5
|
-
* SQLite → MySQL/MariaDB/PostgreSQL
|
|
6
|
-
*
|
|
7
|
-
* Verifies:
|
|
8
|
-
* - SQL dump generation
|
|
9
|
-
* - Import into Docker containers
|
|
10
|
-
* - Schema integrity (table counts, row counts)
|
|
11
|
-
* - Constraint preservation (FK, UNIQUE, PRIMARY KEY)
|
|
12
|
-
* - Data type conversions (TEXT→VARCHAR, boolean, datetime)
|
|
13
|
-
*
|
|
14
|
-
* Prerequisites:
|
|
15
|
-
* - Docker containers running (MySQL, MariaDB, PostgreSQL)
|
|
16
|
-
* - Run: docker-compose -f docker/docker-compose.yml up -d
|
|
17
|
-
*
|
|
18
|
-
* Skip in CI: Set SKIP_DOCKER_TESTS=true or CI=true
|
|
19
|
-
*/
|
|
20
|
-
// Skip Docker-dependent tests in CI environments
|
|
21
|
-
if (process.env.SKIP_DOCKER_TESTS === 'true' || process.env.CI === 'true') {
|
|
22
|
-
console.log('⏭️ Skipping Docker-dependent cross-database tests (CI environment)');
|
|
23
|
-
process.exit(0);
|
|
24
|
-
}
|
|
25
|
-
import { describe, it, before, after } from 'node:test';
|
|
26
|
-
import assert from 'node:assert';
|
|
27
|
-
import { generateSqlDump } from '../../utils/sql-dump/index.js';
|
|
28
|
-
import { getDbConfig, connectDb, disconnectDb, dropAllTables, getTables, assertTableCountsMatch, assertRowCountsMatch, getFKConstraints, seedTestData, assertSeededDataExists, importSqlToDocker, } from '../utils/test-helpers.js';
|
|
29
|
-
import { join } from 'node:path';
|
|
30
|
-
import { existsSync, unlinkSync, mkdirSync } from 'node:fs';
|
|
31
|
-
const testDbPath = join(process.cwd(), '.sqlew/test-cross-db.db');
|
|
32
|
-
describe('Cross-Database SQL Dump Export/Import', () => {
|
|
33
|
-
let sqliteDb;
|
|
34
|
-
let mysqlDb;
|
|
35
|
-
let mariaDb;
|
|
36
|
-
let postgresDb;
|
|
37
|
-
let mysqlDump;
|
|
38
|
-
let mariaDbDump;
|
|
39
|
-
let postgresDump;
|
|
40
|
-
before(async () => {
|
|
41
|
-
console.log(' 📦 Setting up cross-database test environment...');
|
|
42
|
-
// Ensure test directory exists
|
|
43
|
-
const testDir = join(process.cwd(), '.sqlew');
|
|
44
|
-
if (!existsSync(testDir)) {
|
|
45
|
-
mkdirSync(testDir, { recursive: true });
|
|
46
|
-
}
|
|
47
|
-
// Remove existing test database
|
|
48
|
-
if (existsSync(testDbPath)) {
|
|
49
|
-
unlinkSync(testDbPath);
|
|
50
|
-
}
|
|
51
|
-
// Connect to all databases
|
|
52
|
-
const sqliteConfig = getDbConfig('sqlite', testDbPath);
|
|
53
|
-
const mysqlConfig = getDbConfig('mysql');
|
|
54
|
-
const mariaConfig = getDbConfig('mariadb');
|
|
55
|
-
const postgresConfig = getDbConfig('postgresql');
|
|
56
|
-
sqliteDb = await connectDb(sqliteConfig);
|
|
57
|
-
mysqlDb = await connectDb(mysqlConfig);
|
|
58
|
-
mariaDb = await connectDb(mariaConfig);
|
|
59
|
-
postgresDb = await connectDb(postgresConfig);
|
|
60
|
-
console.log(' ✅ All databases connected');
|
|
61
|
-
// Run migrations on SQLite to create full schema
|
|
62
|
-
console.log(' 🏗️ Running migrations on SQLite...');
|
|
63
|
-
await sqliteDb.migrate.latest();
|
|
64
|
-
console.log(' ✅ Migrations complete');
|
|
65
|
-
// Seed test data
|
|
66
|
-
console.log(' 🌱 Seeding test data...');
|
|
67
|
-
await seedTestData(sqliteDb);
|
|
68
|
-
await assertSeededDataExists(sqliteDb);
|
|
69
|
-
console.log(' ✅ Test data seeded');
|
|
70
|
-
});
|
|
71
|
-
after(async () => {
|
|
72
|
-
if (sqliteDb)
|
|
73
|
-
await disconnectDb(sqliteDb);
|
|
74
|
-
if (mysqlDb)
|
|
75
|
-
await disconnectDb(mysqlDb);
|
|
76
|
-
if (mariaDb)
|
|
77
|
-
await disconnectDb(mariaDb);
|
|
78
|
-
if (postgresDb)
|
|
79
|
-
await disconnectDb(postgresDb);
|
|
80
|
-
if (existsSync(testDbPath)) {
|
|
81
|
-
unlinkSync(testDbPath);
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
// ==========================================================================
|
|
85
|
-
// MySQL Export/Import Tests
|
|
86
|
-
// ==========================================================================
|
|
87
|
-
describe('MySQL Export/Import', () => {
|
|
88
|
-
it('should export SQLite to MySQL format', async () => {
|
|
89
|
-
console.log(' 📤 Exporting SQLite → MySQL...');
|
|
90
|
-
// Get non-view tables only (views contain SQLite-specific functions like unixepoch())
|
|
91
|
-
const tables = await sqliteDb.raw(`
|
|
92
|
-
SELECT name FROM sqlite_master
|
|
93
|
-
WHERE type='table' AND name NOT LIKE 'sqlite_%' AND name != 'knex_migrations'
|
|
94
|
-
ORDER BY name
|
|
95
|
-
`);
|
|
96
|
-
const tableNames = tables.map((r) => r.name);
|
|
97
|
-
mysqlDump = await generateSqlDump(sqliteDb, 'mysql', {
|
|
98
|
-
tables: tableNames,
|
|
99
|
-
includeSchema: true,
|
|
100
|
-
includeHeader: true,
|
|
101
|
-
chunkSize: 100,
|
|
102
|
-
});
|
|
103
|
-
assert.ok(mysqlDump.length > 0, 'MySQL dump should not be empty');
|
|
104
|
-
assert.ok(mysqlDump.includes('CREATE TABLE'), 'Should contain CREATE TABLE');
|
|
105
|
-
assert.ok(mysqlDump.includes('PRIMARY KEY'), 'Should contain PRIMARY KEY');
|
|
106
|
-
console.log(` ✅ Generated ${mysqlDump.length} characters`);
|
|
107
|
-
});
|
|
108
|
-
it('should not have TEXT in PRIMARY KEY/UNIQUE constraints (MySQL dump)', () => {
|
|
109
|
-
console.log(' 🔍 Checking for TEXT in constraints (MySQL dump)...');
|
|
110
|
-
// Check v4_help_use_case_categories.category_name TEXT UNIQUE → VARCHAR(191) UNIQUE
|
|
111
|
-
const categoriesMatch = mysqlDump.match(/CREATE TABLE.*?v4_help_use_case_categories.*?\(.*?\)/s);
|
|
112
|
-
if (categoriesMatch) {
|
|
113
|
-
assert.ok(!categoriesMatch[0].includes('category_name TEXT UNIQUE'), 'category_name should not be TEXT UNIQUE');
|
|
114
|
-
}
|
|
115
|
-
console.log(' ✅ No TEXT in constraints (dump verified)');
|
|
116
|
-
});
|
|
117
|
-
it('should import SQL dump into MySQL', async () => {
|
|
118
|
-
console.log(' 📥 Importing into MySQL...');
|
|
119
|
-
// Drop all tables
|
|
120
|
-
await dropAllTables(mysqlDb, 'mysql');
|
|
121
|
-
// Import SQL via Docker
|
|
122
|
-
const config = getDbConfig('mysql');
|
|
123
|
-
await importSqlToDocker(mysqlDump, config.containerName, 'mysql');
|
|
124
|
-
console.log(' ✅ Import successful');
|
|
125
|
-
});
|
|
126
|
-
it('should verify table counts match (MySQL)', async () => {
|
|
127
|
-
console.log(' 🔢 Verifying table counts...');
|
|
128
|
-
await assertTableCountsMatch(sqliteDb, 'sqlite', mysqlDb, 'mysql');
|
|
129
|
-
console.log(' ✅ Table counts match');
|
|
130
|
-
});
|
|
131
|
-
it('should verify row counts match (MySQL)', async () => {
|
|
132
|
-
console.log(' 📊 Verifying row counts...');
|
|
133
|
-
const tables = await getTables(sqliteDb, 'sqlite');
|
|
134
|
-
for (const table of tables) {
|
|
135
|
-
await assertRowCountsMatch(sqliteDb, mysqlDb, table);
|
|
136
|
-
}
|
|
137
|
-
console.log(` ✅ Row counts match (${tables.length} tables)`);
|
|
138
|
-
});
|
|
139
|
-
it('should verify no TEXT in PRIMARY KEY/UNIQUE/FK (MySQL database)', async () => {
|
|
140
|
-
console.log(' 🔍 Checking for TEXT in constraints (MySQL database)...');
|
|
141
|
-
const textInConstraints = await mysqlDb.raw(`
|
|
142
|
-
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_KEY, TABLE_NAME
|
|
143
|
-
FROM INFORMATION_SCHEMA.COLUMNS
|
|
144
|
-
WHERE TABLE_SCHEMA = 'mcp_test'
|
|
145
|
-
AND DATA_TYPE = 'text'
|
|
146
|
-
AND COLUMN_KEY IN ('PRI', 'UNI')
|
|
147
|
-
`);
|
|
148
|
-
const badColumns = textInConstraints[0];
|
|
149
|
-
if (badColumns.length > 0) {
|
|
150
|
-
console.error(' ❌ Found TEXT columns in constraints:', badColumns);
|
|
151
|
-
}
|
|
152
|
-
assert.strictEqual(badColumns.length, 0, 'TEXT columns should not be in PRIMARY KEY/UNIQUE constraints');
|
|
153
|
-
console.log(' ✅ No TEXT in constraints (database verified)');
|
|
154
|
-
});
|
|
155
|
-
it('should verify FK constraints exist (MySQL)', async () => {
|
|
156
|
-
console.log(' 🔗 Verifying FK constraints...');
|
|
157
|
-
const fks = await getFKConstraints(mysqlDb, 'mysql', 't_decisions');
|
|
158
|
-
assert.ok(fks.length > 0, 'Should have FK constraints on t_decisions');
|
|
159
|
-
console.log(` ✅ Found ${fks.length} FK constraints`);
|
|
160
|
-
});
|
|
161
|
-
it('should enforce FK constraints (MySQL)', async () => {
|
|
162
|
-
console.log(' 🧪 Testing FK constraint enforcement...');
|
|
163
|
-
try {
|
|
164
|
-
await mysqlDb('t_decisions').insert({
|
|
165
|
-
key_id: 9999, // Non-existent key
|
|
166
|
-
project_id: 1,
|
|
167
|
-
value: 'test',
|
|
168
|
-
ts: Math.floor(Date.now() / 1000),
|
|
169
|
-
layer_id: 1,
|
|
170
|
-
});
|
|
171
|
-
assert.fail('MySQL should reject invalid FK reference');
|
|
172
|
-
}
|
|
173
|
-
catch (error) {
|
|
174
|
-
const isValidError = error.message.includes('foreign key') ||
|
|
175
|
-
error.code === 'ER_NO_REFERENCED_ROW_2' ||
|
|
176
|
-
error.message.includes('FOREIGN KEY');
|
|
177
|
-
assert.ok(isValidError, `Should throw FK constraint error, got: ${error.message}`);
|
|
178
|
-
console.log(' ✅ FK constraints enforced correctly');
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
// ==========================================================================
|
|
183
|
-
// MariaDB Export/Import Tests
|
|
184
|
-
// ==========================================================================
|
|
185
|
-
describe('MariaDB Export/Import', () => {
|
|
186
|
-
it('should export SQLite to MariaDB format', async () => {
|
|
187
|
-
console.log(' 📤 Exporting SQLite → MariaDB...');
|
|
188
|
-
// Get non-view tables only (same as MySQL test)
|
|
189
|
-
const tables = await sqliteDb.raw(`
|
|
190
|
-
SELECT name FROM sqlite_master
|
|
191
|
-
WHERE type='table' AND name NOT LIKE 'sqlite_%' AND name != 'knex_migrations'
|
|
192
|
-
ORDER BY name
|
|
193
|
-
`);
|
|
194
|
-
const tableNames = tables.map((r) => r.name);
|
|
195
|
-
// MariaDB uses MySQL dialect
|
|
196
|
-
mariaDbDump = await generateSqlDump(sqliteDb, 'mysql', {
|
|
197
|
-
tables: tableNames,
|
|
198
|
-
includeSchema: true,
|
|
199
|
-
includeHeader: true,
|
|
200
|
-
chunkSize: 100,
|
|
201
|
-
});
|
|
202
|
-
assert.ok(mariaDbDump.length > 0, 'MariaDB dump should not be empty');
|
|
203
|
-
console.log(` ✅ Generated ${mariaDbDump.length} characters`);
|
|
204
|
-
});
|
|
205
|
-
it('should import SQL dump into MariaDB', async () => {
|
|
206
|
-
console.log(' 📥 Importing into MariaDB...');
|
|
207
|
-
await dropAllTables(mariaDb, 'mariadb');
|
|
208
|
-
const config = getDbConfig('mariadb');
|
|
209
|
-
await importSqlToDocker(mariaDbDump, config.containerName, 'mariadb');
|
|
210
|
-
console.log(' ✅ Import successful');
|
|
211
|
-
});
|
|
212
|
-
it('should verify table counts match (MariaDB)', async () => {
|
|
213
|
-
console.log(' 🔢 Verifying table counts...');
|
|
214
|
-
await assertTableCountsMatch(sqliteDb, 'sqlite', mariaDb, 'mariadb');
|
|
215
|
-
console.log(' ✅ Table counts match');
|
|
216
|
-
});
|
|
217
|
-
it('should verify row counts match (MariaDB)', async () => {
|
|
218
|
-
console.log(' 📊 Verifying row counts...');
|
|
219
|
-
const tables = await getTables(sqliteDb, 'sqlite');
|
|
220
|
-
for (const table of tables) {
|
|
221
|
-
await assertRowCountsMatch(sqliteDb, mariaDb, table);
|
|
222
|
-
}
|
|
223
|
-
console.log(` ✅ Row counts match (${tables.length} tables)`);
|
|
224
|
-
});
|
|
225
|
-
it('should verify no TEXT in PRIMARY KEY/UNIQUE/FK (MariaDB)', async () => {
|
|
226
|
-
console.log(' 🔍 Checking for TEXT in constraints (MariaDB)...');
|
|
227
|
-
const textInConstraints = await mariaDb.raw(`
|
|
228
|
-
SELECT COLUMN_NAME, DATA_TYPE, COLUMN_KEY, TABLE_NAME
|
|
229
|
-
FROM INFORMATION_SCHEMA.COLUMNS
|
|
230
|
-
WHERE TABLE_SCHEMA = 'mcp_test'
|
|
231
|
-
AND DATA_TYPE = 'text'
|
|
232
|
-
AND COLUMN_KEY IN ('PRI', 'UNI')
|
|
233
|
-
`);
|
|
234
|
-
const badColumns = textInConstraints[0];
|
|
235
|
-
assert.strictEqual(badColumns.length, 0, 'TEXT columns should not be in PRIMARY KEY/UNIQUE constraints (MariaDB 10.5 compatibility)');
|
|
236
|
-
console.log(' ✅ No TEXT in constraints (MariaDB verified)');
|
|
237
|
-
});
|
|
238
|
-
it('should verify FK constraints exist (MariaDB)', async () => {
|
|
239
|
-
console.log(' 🔗 Verifying FK constraints...');
|
|
240
|
-
const fks = await getFKConstraints(mariaDb, 'mariadb', 't_decisions');
|
|
241
|
-
assert.ok(fks.length > 0, 'Should have FK constraints on t_decisions');
|
|
242
|
-
console.log(` ✅ Found ${fks.length} FK constraints`);
|
|
243
|
-
});
|
|
244
|
-
});
|
|
245
|
-
// ==========================================================================
|
|
246
|
-
// PostgreSQL Export/Import Tests
|
|
247
|
-
// ==========================================================================
|
|
248
|
-
describe('PostgreSQL Export/Import', () => {
|
|
249
|
-
it('should export SQLite to PostgreSQL format', async () => {
|
|
250
|
-
console.log(' 📤 Exporting SQLite → PostgreSQL...');
|
|
251
|
-
// Get non-view tables only (views contain SQLite-specific functions)
|
|
252
|
-
const tables = await sqliteDb.raw(`
|
|
253
|
-
SELECT name FROM sqlite_master
|
|
254
|
-
WHERE type='table' AND name NOT LIKE 'sqlite_%' AND name != 'knex_migrations'
|
|
255
|
-
ORDER BY name
|
|
256
|
-
`);
|
|
257
|
-
const tableNames = tables.map((r) => r.name);
|
|
258
|
-
postgresDump = await generateSqlDump(sqliteDb, 'postgresql', {
|
|
259
|
-
tables: tableNames,
|
|
260
|
-
includeSchema: true,
|
|
261
|
-
includeHeader: true,
|
|
262
|
-
chunkSize: 100,
|
|
263
|
-
});
|
|
264
|
-
assert.ok(postgresDump.length > 0, 'PostgreSQL dump should not be empty');
|
|
265
|
-
assert.ok(postgresDump.includes('CREATE TABLE'), 'Should contain CREATE TABLE');
|
|
266
|
-
console.log(` ✅ Generated ${postgresDump.length} characters`);
|
|
267
|
-
});
|
|
268
|
-
it('should import SQL dump into PostgreSQL', async () => {
|
|
269
|
-
console.log(' 📥 Importing into PostgreSQL...');
|
|
270
|
-
await dropAllTables(postgresDb, 'postgresql');
|
|
271
|
-
const config = getDbConfig('postgresql');
|
|
272
|
-
await importSqlToDocker(postgresDump, config.containerName, 'postgresql');
|
|
273
|
-
console.log(' ✅ Import successful');
|
|
274
|
-
});
|
|
275
|
-
it('should verify table counts match (PostgreSQL)', async () => {
|
|
276
|
-
console.log(' 🔢 Verifying table counts...');
|
|
277
|
-
await assertTableCountsMatch(sqliteDb, 'sqlite', postgresDb, 'postgresql');
|
|
278
|
-
console.log(' ✅ Table counts match');
|
|
279
|
-
});
|
|
280
|
-
it('should verify row counts match (PostgreSQL)', async () => {
|
|
281
|
-
console.log(' 📊 Verifying row counts...');
|
|
282
|
-
const tables = await getTables(sqliteDb, 'sqlite');
|
|
283
|
-
for (const table of tables) {
|
|
284
|
-
await assertRowCountsMatch(sqliteDb, postgresDb, table);
|
|
285
|
-
}
|
|
286
|
-
console.log(` ✅ Row counts match (${tables.length} tables)`);
|
|
287
|
-
});
|
|
288
|
-
it('should verify FK constraints exist (PostgreSQL)', async () => {
|
|
289
|
-
console.log(' 🔗 Verifying FK constraints...');
|
|
290
|
-
const fks = await getFKConstraints(postgresDb, 'postgresql', 't_decisions');
|
|
291
|
-
assert.ok(fks.length > 0, 'Should have FK constraints on t_decisions');
|
|
292
|
-
console.log(` ✅ Found ${fks.length} FK constraints`);
|
|
293
|
-
});
|
|
294
|
-
it('should convert booleans to TRUE/FALSE (PostgreSQL)', async () => {
|
|
295
|
-
console.log(' 🔄 Verifying boolean conversion...');
|
|
296
|
-
const result = await postgresDb('t_constraints').select('active').first();
|
|
297
|
-
if (result) {
|
|
298
|
-
// PostgreSQL should return actual boolean, not 0/1
|
|
299
|
-
assert.strictEqual(typeof result.active, 'boolean', 'active should be boolean type');
|
|
300
|
-
console.log(' ✅ Boolean values converted correctly');
|
|
301
|
-
}
|
|
302
|
-
else {
|
|
303
|
-
console.log(' ⚠️ No data to verify boolean conversion');
|
|
304
|
-
}
|
|
305
|
-
});
|
|
306
|
-
});
|
|
307
|
-
});
|
|
308
|
-
//# sourceMappingURL=cross-database.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cross-database.test.js","sourceRoot":"","sources":["../../../src/tests/docker/cross-database.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cross-database migration integration tests
|
|
3
|
-
*
|
|
4
|
-
* Tests full migration workflow:
|
|
5
|
-
* 1. Generate SQL dump from SQLite
|
|
6
|
-
* 2. Import to PostgreSQL
|
|
7
|
-
* 3. Import to MySQL
|
|
8
|
-
* 4. Verify data integrity
|
|
9
|
-
*
|
|
10
|
-
* Prerequisites:
|
|
11
|
-
* - Docker installed and running
|
|
12
|
-
* - Run: docker-compose -f docker/docker-compose.test.yml up -d
|
|
13
|
-
*/
|
|
14
|
-
export {};
|
|
15
|
-
//# sourceMappingURL=dump-import.test.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dump-import.test.d.ts","sourceRoot":"","sources":["../../../src/tests/docker/dump-import.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
|