migr8 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. migr8-0.1.0/.gitignore +24 -0
  2. migr8-0.1.0/COMMERCIAL.md +14 -0
  3. migr8-0.1.0/LICENSE +661 -0
  4. migr8-0.1.0/LICENSING.md +43 -0
  5. migr8-0.1.0/PKG-INFO +166 -0
  6. migr8-0.1.0/README.md +137 -0
  7. migr8-0.1.0/deploy/apple-container/Containerfile +39 -0
  8. migr8-0.1.0/deploy/apple-container/README.md +135 -0
  9. migr8-0.1.0/deploy/apple-container/ctl.sh +238 -0
  10. migr8-0.1.0/deploy/apple-container/templates/oracle.toml.in +17 -0
  11. migr8-0.1.0/deploy/apple-container/templates/postgres.toml.in +11 -0
  12. migr8-0.1.0/docs/ACCEPTANCE.md +566 -0
  13. migr8-0.1.0/docs/ARCHITECTURE.md +279 -0
  14. migr8-0.1.0/docs/MANUAL.md +791 -0
  15. migr8-0.1.0/docs/ORACLE-CONNECTIONS.md +230 -0
  16. migr8-0.1.0/docs/SPEC.md +838 -0
  17. migr8-0.1.0/examples/oracle/manifest.toml +44 -0
  18. migr8-0.1.0/examples/oracle/migr8.toml +18 -0
  19. migr8-0.1.0/examples/oracle/migrations/010-create-orders/up.sql +17 -0
  20. migr8-0.1.0/examples/oracle/migrations/020-seed-orders/up.sql +7 -0
  21. migr8-0.1.0/examples/oracle/migrations/030-pkg-orders-spec/spec.sql +5 -0
  22. migr8-0.1.0/examples/oracle/migrations/040-pkg-orders-body/body.sql +7 -0
  23. migr8-0.1.0/examples/oracle/migrations/050-backfill-region/assumptions.py +4 -0
  24. migr8-0.1.0/examples/oracle/migrations/050-backfill-region/migration.py +47 -0
  25. migr8-0.1.0/examples/postgres/manifest.toml +33 -0
  26. migr8-0.1.0/examples/postgres/migr8.toml +14 -0
  27. migr8-0.1.0/examples/postgres/migrations/010-create-orders/up.sql +5 -0
  28. migr8-0.1.0/examples/postgres/migrations/020-seed-orders/up.sql +4 -0
  29. migr8-0.1.0/examples/postgres/migrations/030-concurrent-index/migration.py +21 -0
  30. migr8-0.1.0/examples/postgres/migrations/040-backfill-region/assumptions.py +4 -0
  31. migr8-0.1.0/examples/postgres/migrations/040-backfill-region/migration.py +35 -0
  32. migr8-0.1.0/examples/sqlite/manifest.toml +26 -0
  33. migr8-0.1.0/examples/sqlite/migr8.toml +18 -0
  34. migr8-0.1.0/examples/sqlite/migrations/001-create-orders/up.sql +7 -0
  35. migr8-0.1.0/examples/sqlite/migrations/002-seed-orders/up.sql +8 -0
  36. migr8-0.1.0/examples/sqlite/migrations/003-backfill-region/assumptions.py +6 -0
  37. migr8-0.1.0/examples/sqlite/migrations/003-backfill-region/migration.py +35 -0
  38. migr8-0.1.0/migr8 +23 -0
  39. migr8-0.1.0/pyproject.toml +155 -0
  40. migr8-0.1.0/src/migr8/__init__.py +12 -0
  41. migr8-0.1.0/src/migr8/adapters/__init__.py +61 -0
  42. migr8-0.1.0/src/migr8/adapters/base.py +1197 -0
  43. migr8-0.1.0/src/migr8/adapters/metadata.py +388 -0
  44. migr8-0.1.0/src/migr8/adapters/oracle.py +1472 -0
  45. migr8-0.1.0/src/migr8/adapters/postgres.py +868 -0
  46. migr8-0.1.0/src/migr8/adapters/sqlite.py +970 -0
  47. migr8-0.1.0/src/migr8/checks.py +116 -0
  48. migr8-0.1.0/src/migr8/cli.py +332 -0
  49. migr8-0.1.0/src/migr8/config.py +160 -0
  50. migr8-0.1.0/src/migr8/context.py +358 -0
  51. migr8-0.1.0/src/migr8/diagnostics.py +105 -0
  52. migr8-0.1.0/src/migr8/engine.py +593 -0
  53. migr8-0.1.0/src/migr8/errors.py +179 -0
  54. migr8-0.1.0/src/migr8/fingerprint.py +85 -0
  55. migr8-0.1.0/src/migr8/latch.py +67 -0
  56. migr8-0.1.0/src/migr8/loader.py +176 -0
  57. migr8-0.1.0/src/migr8/manifest.py +236 -0
  58. migr8-0.1.0/src/migr8/model.py +178 -0
  59. migr8-0.1.0/src/migr8/paths.py +183 -0
  60. migr8-0.1.0/src/migr8/readonly.py +292 -0
  61. migr8-0.1.0/src/migr8/reporting.py +161 -0
  62. migr8-0.1.0/src/migr8/sqltext.py +478 -0
  63. migr8-0.1.0/src/migr8/staging.py +151 -0
  64. migr8-0.1.0/src/migr8/statevalidate.py +302 -0
  65. migr8-0.1.0/src/migr8/testing/__init__.py +1 -0
  66. migr8-0.1.0/src/migr8/testing/hooks.py +66 -0
  67. migr8-0.1.0/src/migr8/version.py +10 -0
  68. migr8-0.1.0/testenv/.env.example +10 -0
  69. migr8-0.1.0/testenv/README.md +83 -0
  70. migr8-0.1.0/testenv/compose.yaml +66 -0
  71. migr8-0.1.0/testenv/dbctl.sh +152 -0
  72. migr8-0.1.0/testenv/provision_oracle.py +116 -0
  73. migr8-0.1.0/testenv/provision_postgres.py +51 -0
  74. migr8-0.1.0/testenv/provision_tls.sh +209 -0
  75. migr8-0.1.0/testenv/record_versions.py +83 -0
  76. migr8-0.1.0/tests/conftest.py +47 -0
  77. migr8-0.1.0/tests/integration/__init__.py +0 -0
  78. migr8-0.1.0/tests/integration/conftest.py +327 -0
  79. migr8-0.1.0/tests/integration/test_commit_failure.py +402 -0
  80. migr8-0.1.0/tests/integration/test_metadata_damage.py +381 -0
  81. migr8-0.1.0/tests/integration/test_oracle.py +560 -0
  82. migr8-0.1.0/tests/integration/test_oracle_concurrency.py +324 -0
  83. migr8-0.1.0/tests/integration/test_oracle_execution.py +887 -0
  84. migr8-0.1.0/tests/integration/test_oracle_tls.py +87 -0
  85. migr8-0.1.0/tests/integration/test_postgres.py +651 -0
  86. migr8-0.1.0/tests/proxy.py +244 -0
  87. migr8-0.1.0/tests/support.py +309 -0
  88. migr8-0.1.0/tests/test_adapter_contract.py +518 -0
  89. migr8-0.1.0/tests/test_checks.py +84 -0
  90. migr8-0.1.0/tests/test_cli.py +197 -0
  91. migr8-0.1.0/tests/test_concurrency_probe.py +240 -0
  92. migr8-0.1.0/tests/test_diagnostics.py +459 -0
  93. migr8-0.1.0/tests/test_entry_contract.py +213 -0
  94. migr8-0.1.0/tests/test_failure_reporting.py +423 -0
  95. migr8-0.1.0/tests/test_fingerprint.py +122 -0
  96. migr8-0.1.0/tests/test_loader.py +134 -0
  97. migr8-0.1.0/tests/test_manifest.py +340 -0
  98. migr8-0.1.0/tests/test_metadata_damage.py +481 -0
  99. migr8-0.1.0/tests/test_offline.py +289 -0
  100. migr8-0.1.0/tests/test_oracle_config.py +134 -0
  101. migr8-0.1.0/tests/test_outcome_authority.py +576 -0
  102. migr8-0.1.0/tests/test_sqlite.py +984 -0
  103. migr8-0.1.0/tests/test_sqlite_faults.py +482 -0
  104. migr8-0.1.0/tests/test_sqlite_layout.py +396 -0
  105. migr8-0.1.0/tests/test_sqltext.py +308 -0
  106. migr8-0.1.0/tests/test_staging.py +242 -0
  107. migr8-0.1.0/tests/test_statevalidate.py +569 -0
  108. migr8-0.1.0/tests/test_terminal_result.py +245 -0
  109. migr8-0.1.0/tests/test_unknown_outcome.py +354 -0
migr8-0.1.0/.gitignore ADDED
@@ -0,0 +1,24 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ .venv/
5
+ *.egg-info/
6
+ build/
7
+ dist/
8
+
9
+ # Tests
10
+ .pytest_cache/
11
+ .mypy_cache/
12
+ .ruff_cache/
13
+ .coverage
14
+ .coverage.*
15
+ htmlcov/
16
+
17
+ # Local test environment secrets and scratch
18
+ testenv/.env
19
+ testenv/secrets/
20
+ .scratch/
21
+ deploy/apple-container/generated/
22
+
23
+ # Generated TLS fixture for the disposable Oracle test database
24
+ testenv/tls/
@@ -0,0 +1,14 @@
1
+ # Commercial licensing
2
+
3
+ migr8 is dual-licensed. The public repository is offered under the GNU Affero
4
+ General Public License v3.0 only ([LICENSE](LICENSE)). If the AGPL's terms do
5
+ not fit your use — for example embedding migr8 in a proprietary product, or
6
+ running a modified version as a network service without offering source — a
7
+ separate commercial license is available from the copyright holders.
8
+
9
+ Contact: mail@bobah.net
10
+
11
+ > This document is an availability notice, not a license grant or a contract.
12
+ > Commercial terms are agreed per customer in a signed agreement drafted with
13
+ > counsel. Until such an agreement is executed, your use of migr8 is governed
14
+ > solely by the AGPL-3.0-only terms in [LICENSE](LICENSE).