@deterministic-code/migraters 0.0.0-stage → 0.0.2

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 (116) hide show
  1. package/README.md +1 -3
  2. package/bundle.yaml +262 -0
  3. package/cli.yaml +264 -0
  4. package/dist/abstractions/migrater.d.ts +28 -0
  5. package/dist/abstractions/migrater.js +1 -0
  6. package/dist/abstractions/sql-dialect-base.d.ts +16 -0
  7. package/dist/abstractions/sql-dialect-base.js +19 -0
  8. package/dist/abstractions/sql-dialect-factory.d.ts +8 -0
  9. package/dist/abstractions/sql-dialect-factory.js +22 -0
  10. package/dist/abstractions/sql-dialect.d.ts +16 -0
  11. package/dist/abstractions/sql-dialect.js +1 -0
  12. package/dist/bin/migrate-create.d.ts +2 -0
  13. package/dist/bin/migrate-create.js +71 -0
  14. package/dist/bin/migrate-down.d.ts +2 -0
  15. package/dist/bin/migrate-down.js +135 -0
  16. package/dist/bin/migrate-init.d.ts +2 -0
  17. package/dist/bin/migrate-init.js +77 -0
  18. package/dist/bin/migrate-setup.d.ts +2 -0
  19. package/dist/bin/migrate-setup.js +87 -0
  20. package/dist/bin/migrate-up.d.ts +2 -0
  21. package/dist/bin/migrate-up.js +97 -0
  22. package/dist/cli-contract.d.ts +6 -0
  23. package/dist/cli-contract.js +19 -0
  24. package/dist/cli-spec.d.ts +24 -0
  25. package/dist/cli-spec.js +33 -0
  26. package/dist/cli.d.ts +9 -0
  27. package/dist/cli.js +41 -0
  28. package/dist/create-sequence.d.ts +4 -0
  29. package/dist/create-sequence.js +16 -0
  30. package/dist/datasource-migrate.d.ts +31 -0
  31. package/dist/datasource-migrate.js +206 -0
  32. package/dist/dialects/mysql-dialect.d.ts +12 -0
  33. package/dist/dialects/mysql-dialect.js +56 -0
  34. package/dist/dialects/oracle-dialect.d.ts +18 -0
  35. package/dist/dialects/oracle-dialect.js +76 -0
  36. package/dist/dialects/postgres-dialect.d.ts +11 -0
  37. package/dist/dialects/postgres-dialect.js +58 -0
  38. package/dist/dialects/sqlite-dialect.d.ts +13 -0
  39. package/dist/dialects/sqlite-dialect.js +96 -0
  40. package/dist/dialects/sqlserver-dialect.d.ts +12 -0
  41. package/dist/dialects/sqlserver-dialect.js +73 -0
  42. package/dist/help.d.ts +2 -0
  43. package/dist/help.js +10 -0
  44. package/dist/index.d.ts +7 -0
  45. package/dist/index.js +6 -0
  46. package/dist/infrastructure/connection-resolver.d.ts +7 -0
  47. package/dist/infrastructure/connection-resolver.js +19 -0
  48. package/dist/infrastructure/default-factory.d.ts +4 -0
  49. package/dist/infrastructure/default-factory.js +15 -0
  50. package/dist/infrastructure/interop-default.d.ts +3 -0
  51. package/dist/infrastructure/interop-default.js +1 -0
  52. package/dist/infrastructure/message-templates.d.ts +3 -0
  53. package/dist/infrastructure/message-templates.js +18 -0
  54. package/dist/infrastructure/split-on-go.d.ts +2 -0
  55. package/dist/infrastructure/split-on-go.js +20 -0
  56. package/dist/infrastructure/sql-templates.d.ts +2 -0
  57. package/dist/infrastructure/sql-templates.js +4 -0
  58. package/dist/infrastructure/templates-root.d.ts +2 -0
  59. package/dist/infrastructure/templates-root.js +11 -0
  60. package/dist/init-select.d.ts +12 -0
  61. package/dist/init-select.js +52 -0
  62. package/dist/migrater.d.ts +12 -0
  63. package/dist/migrater.js +84 -0
  64. package/dist/migration-client.d.ts +21 -0
  65. package/dist/migration-client.js +1 -0
  66. package/dist/path-exists.d.ts +1 -0
  67. package/dist/path-exists.js +10 -0
  68. package/dist/sql.d.ts +3 -0
  69. package/dist/sql.js +15 -0
  70. package/dist/templates/help/create.txt +16 -0
  71. package/dist/templates/help/down.txt +42 -0
  72. package/dist/templates/help/init.txt +13 -0
  73. package/dist/templates/help/setup.txt +41 -0
  74. package/dist/templates/help/up.txt +43 -0
  75. package/dist/templates/messages/checksum-drift-line.txt +1 -0
  76. package/dist/templates/messages/checksum-drift.txt +11 -0
  77. package/dist/templates/messages/down/confirm-mismatch.txt +1 -0
  78. package/dist/templates/messages/down/confirm-prompt.txt +1 -0
  79. package/dist/templates/messages/down/confirm-stdin-failed.txt +1 -0
  80. package/dist/templates/messages/down/confirm-token-mismatch.txt +1 -0
  81. package/dist/templates/messages/down/confirm-tty-required.txt +1 -0
  82. package/dist/templates/messages/down/destructive-header.txt +3 -0
  83. package/dist/templates/messages/errors/invalid-name.txt +1 -0
  84. package/dist/templates/messages/errors/migrate-path-not-dir.txt +1 -0
  85. package/dist/templates/messages/errors/missing-connection.txt +1 -0
  86. package/dist/templates/messages/errors/missing-name-hint.txt +1 -0
  87. package/dist/templates/messages/errors/missing-name.txt +1 -0
  88. package/dist/templates/messages/errors/missing-provider-hint.txt +1 -0
  89. package/dist/templates/messages/errors/missing-provider.txt +1 -0
  90. package/dist/templates/messages/errors/missing-value-for-flag.txt +1 -0
  91. package/dist/templates/messages/errors/rollback-no-down-sibling.txt +1 -0
  92. package/dist/templates/messages/errors/rollback-no-rollback-sibling.txt +1 -0
  93. package/dist/templates/messages/errors/rollback-not-in-path.txt +1 -0
  94. package/dist/templates/messages/errors/sqlite-prerequisite.txt +1 -0
  95. package/dist/templates/messages/errors/unknown-arg.txt +1 -0
  96. package/dist/templates/messages/errors/unsupported-provider.txt +1 -0
  97. package/dist/templates/messages/setup-complete.txt +9 -0
  98. package/dist/templates/messages/status/applied.txt +1 -0
  99. package/dist/templates/messages/status/created.txt +1 -0
  100. package/dist/templates/messages/status/no-more-pending.txt +1 -0
  101. package/dist/templates/messages/status/no-pending.txt +1 -0
  102. package/dist/templates/messages/status/no-rollback.txt +1 -0
  103. package/dist/templates/messages/status/rolled-back.txt +1 -0
  104. package/dist/templates/scaffold/down.sql +1 -0
  105. package/dist/templates/scaffold/up.sql +1 -0
  106. package/dist/templates/sql/mysql/migrate_logs.sql +11 -0
  107. package/dist/templates/sql/mysql/migrates.sql +7 -0
  108. package/dist/templates/sql/oracle/migrate_logs.sql +14 -0
  109. package/dist/templates/sql/oracle/migrates.sql +10 -0
  110. package/dist/templates/sql/postgres/migrate_logs.sql +11 -0
  111. package/dist/templates/sql/postgres/migrates.sql +7 -0
  112. package/dist/templates/sql/sqlite/migrate_logs.sql +11 -0
  113. package/dist/templates/sql/sqlite/migrates.sql +7 -0
  114. package/dist/templates/sql/sqlserver/migrate_logs.sql +12 -0
  115. package/dist/templates/sql/sqlserver/migrates.sql +8 -0
  116. package/package.json +79 -4
@@ -0,0 +1 @@
1
+ No applied migrations to roll back.
@@ -0,0 +1 @@
1
+ Rolled back: {{name}}
@@ -0,0 +1 @@
1
+ -- TODO: write the down migration for "{{name}}"
@@ -0,0 +1 @@
1
+ -- TODO: write the up migration for "{{name}}"
@@ -0,0 +1,11 @@
1
+ CREATE TABLE IF NOT EXISTS `migrate_logs` (
2
+ `id` BIGINT AUTO_INCREMENT PRIMARY KEY,
3
+ `migrate_name` VARCHAR(255) NOT NULL,
4
+ `direction` VARCHAR(8) NOT NULL,
5
+ `status` VARCHAR(16) NOT NULL,
6
+ `finished_at` TIMESTAMP NULL,
7
+ `duration_ms` INT,
8
+ `error_message` TEXT,
9
+ `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
10
+ `updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
11
+ );
@@ -0,0 +1,7 @@
1
+ CREATE TABLE IF NOT EXISTS `migrates` (
2
+ `id` BIGINT AUTO_INCREMENT PRIMARY KEY,
3
+ `name` VARCHAR(255) NOT NULL UNIQUE,
4
+ `checksum` VARCHAR(64),
5
+ `created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
6
+ `updated` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
7
+ );
@@ -0,0 +1,14 @@
1
+ BEGIN
2
+ EXECUTE IMMEDIATE 'CREATE TABLE "migrate_logs" (
3
+ "id" NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
4
+ "migrate_name" VARCHAR2(255) NOT NULL,
5
+ "direction" VARCHAR2(8) NOT NULL,
6
+ "status" VARCHAR2(16) NOT NULL,
7
+ "finished_at" TIMESTAMP,
8
+ "duration_ms" NUMBER(10),
9
+ "error_message" CLOB,
10
+ "created" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
11
+ "updated" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
12
+ )';
13
+ EXCEPTION WHEN OTHERS THEN IF SQLCODE != -955 THEN RAISE; END IF;
14
+ END;
@@ -0,0 +1,10 @@
1
+ BEGIN
2
+ EXECUTE IMMEDIATE 'CREATE TABLE "migrates" (
3
+ "id" NUMBER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
4
+ "name" VARCHAR2(255) NOT NULL UNIQUE,
5
+ "checksum" VARCHAR2(64),
6
+ "created" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
7
+ "updated" TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL
8
+ )';
9
+ EXCEPTION WHEN OTHERS THEN IF SQLCODE != -955 THEN RAISE; END IF;
10
+ END;
@@ -0,0 +1,11 @@
1
+ CREATE TABLE IF NOT EXISTS "migrate_logs" (
2
+ "id" BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
3
+ "migrate_name" VARCHAR(255) NOT NULL,
4
+ "direction" VARCHAR(8) NOT NULL,
5
+ "status" VARCHAR(16) NOT NULL,
6
+ "finished_at" TIMESTAMPTZ,
7
+ "duration_ms" INTEGER,
8
+ "error_message" TEXT,
9
+ "created" TIMESTAMPTZ NOT NULL DEFAULT NOW(),
10
+ "updated" TIMESTAMPTZ NOT NULL DEFAULT NOW()
11
+ );
@@ -0,0 +1,7 @@
1
+ CREATE TABLE IF NOT EXISTS "migrates" (
2
+ "id" BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
3
+ "name" VARCHAR(255) NOT NULL UNIQUE,
4
+ "checksum" VARCHAR(64),
5
+ "created" TIMESTAMPTZ NOT NULL DEFAULT NOW(),
6
+ "updated" TIMESTAMPTZ NOT NULL DEFAULT NOW()
7
+ );
@@ -0,0 +1,11 @@
1
+ CREATE TABLE IF NOT EXISTS "migrate_logs" (
2
+ "id" INTEGER PRIMARY KEY AUTOINCREMENT,
3
+ "migrate_name" VARCHAR(255) NOT NULL,
4
+ "direction" VARCHAR(8) NOT NULL,
5
+ "status" VARCHAR(16) NOT NULL,
6
+ "finished_at" DATETIME,
7
+ "duration_ms" INTEGER,
8
+ "error_message" TEXT,
9
+ "created" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
10
+ "updated" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
11
+ );
@@ -0,0 +1,7 @@
1
+ CREATE TABLE IF NOT EXISTS "migrates" (
2
+ "id" INTEGER PRIMARY KEY AUTOINCREMENT,
3
+ "name" VARCHAR(255) NOT NULL UNIQUE,
4
+ "checksum" VARCHAR(64),
5
+ "created" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
6
+ "updated" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
7
+ );
@@ -0,0 +1,12 @@
1
+ IF OBJECT_ID('dbo.migrate_logs', 'U') IS NULL
2
+ CREATE TABLE [migrate_logs] (
3
+ [id] BIGINT IDENTITY(1,1) PRIMARY KEY,
4
+ [migrate_name] NVARCHAR(255) NOT NULL,
5
+ [direction] NVARCHAR(8) NOT NULL,
6
+ [status] NVARCHAR(16) NOT NULL,
7
+ [finished_at] DATETIME2,
8
+ [duration_ms] INT,
9
+ [error_message] NVARCHAR(MAX),
10
+ [created] DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME(),
11
+ [updated] DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME()
12
+ );
@@ -0,0 +1,8 @@
1
+ IF OBJECT_ID('dbo.migrates', 'U') IS NULL
2
+ CREATE TABLE [migrates] (
3
+ [id] BIGINT IDENTITY(1,1) PRIMARY KEY,
4
+ [name] NVARCHAR(255) NOT NULL UNIQUE,
5
+ [checksum] NVARCHAR(64),
6
+ [created] DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME(),
7
+ [updated] DATETIME2 NOT NULL DEFAULT SYSUTCDATETIME()
8
+ );
package/package.json CHANGED
@@ -1,6 +1,81 @@
1
1
  {
2
2
  "name": "@deterministic-code/migraters",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.0.2",
4
+ "description": "TypeScript migrate executables for deterministic-code.",
5
+ "type": "module",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/index.d.ts",
9
+ "import": "./dist/index.js"
10
+ },
11
+ "./package.json": "./package.json"
12
+ },
13
+ "bin": {
14
+ "migrate-up": "./dist/bin/migrate-up.js",
15
+ "migrate-down": "./dist/bin/migrate-down.js",
16
+ "migrate-setup": "./dist/bin/migrate-setup.js",
17
+ "migrate-create": "./dist/bin/migrate-create.js",
18
+ "migrate-init": "./dist/bin/migrate-init.js"
19
+ },
20
+ "files": [
21
+ "dist",
22
+ "cli.yaml",
23
+ "bundle.yaml"
24
+ ],
25
+ "scripts": {
26
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && cp -R ../shared/templates dist/templates",
27
+ "typecheck": "tsc -p tsconfig.build.json --noEmit",
28
+ "test": "vitest run --coverage",
29
+ "test:proof": "vitest run --config vitest.proof.config.ts",
30
+ "test:coverage": "vitest run --coverage",
31
+ "generate:help": "node --experimental-strip-types src/generate-help.ts",
32
+ "format": "prettier --write ."
33
+ },
34
+ "dependencies": {
35
+ "yaml": "^2.9.0"
36
+ },
37
+ "peerDependencies": {
38
+ "better-sqlite3": "^12.10.0",
39
+ "mssql": "^12.5.0",
40
+ "mysql2": "^3.22.2",
41
+ "oracledb": "^6.10.0",
42
+ "pg": "^8.13.0"
43
+ },
44
+ "peerDependenciesMeta": {
45
+ "better-sqlite3": {
46
+ "optional": true
47
+ },
48
+ "mssql": {
49
+ "optional": true
50
+ },
51
+ "mysql2": {
52
+ "optional": true
53
+ },
54
+ "oracledb": {
55
+ "optional": true
56
+ },
57
+ "pg": {
58
+ "optional": true
59
+ }
60
+ },
61
+ "devDependencies": {
62
+ "@types/better-sqlite3": "^7.6.11",
63
+ "better-sqlite3": "^12.10.0",
64
+ "@types/mssql": "^12.3.0",
65
+ "@types/node": "^22.10.0",
66
+ "@types/oracledb": "^6.10.3",
67
+ "@types/pg": "^8.11.10",
68
+ "@vitest/coverage-v8": "^3.2.4",
69
+ "mssql": "^12.5.0",
70
+ "mysql2": "^3.22.2",
71
+ "oracledb": "^6.10.0",
72
+ "pg": "^8.13.0",
73
+ "prettier": "^3.9.6",
74
+ "typescript": "^5.8.0",
75
+ "vitest": "^3.2.4"
76
+ },
77
+ "publishConfig": {
78
+ "access": "public"
79
+ },
80
+ "license": "MIT"
81
+ }