@alchemy.run/drizzle 2.0.0-beta.84 → 2.0.0-beta.86

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.
@@ -42,6 +42,6 @@ export type ProviderRequirements = Layer.Services<ReturnType<typeof providers>>;
42
42
  * );
43
43
  * ```
44
44
  */
45
- export declare const providers: () => Layer.Layer<Providers, never, import("effect/process/ChildProcessSpawner").ChildProcessSpawner | import("effect/FileSystem").FileSystem | import("effect/Path").Path | import("effect/Scope").Scope>;
45
+ export declare const providers: () => Layer.Layer<Providers, never, import("effect/FileSystem").FileSystem | import("effect/Path").Path>;
46
46
  export {};
47
47
  //# sourceMappingURL=Providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.d.ts","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;;AAGtC,qBAAa,SAAU,SAAQ,cAAmD;CAAG;AAErF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,SAAS,4MAInB,CAAC"}
1
+ {"version":3,"file":"Providers.d.ts","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;;AAGtC,qBAAa,SAAU,SAAQ,cAAmD;CAAG;AAErF,MAAM,MAAM,oBAAoB,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,SAAS,0GAInB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Providers.js","sourceRoot":"","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,OAAO,SAAU,SAAQ,QAAQ,CAAC,kBAAkB,EAAa,CAAC,SAAS,CAAC;CAAG;AAIrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACzD,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAC/B,KAAK,CAAC,KAAK,CACZ,CAAC"}
1
+ {"version":3,"file":"Providers.js","sources":["../src/Providers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAErD,MAAM,OAAO,SAAU,SAAQ,QAAQ,CAAC,kBAAkB,EAAa,CAAC,SAAS,CAAC;CAAG;AAIrF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CACzD,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,EAC/B,KAAK,CAAC,KAAK,CACZ,CAAC"}
package/lib/Schema.d.ts CHANGED
@@ -4,6 +4,27 @@ import * as FileSystem from "effect/FileSystem";
4
4
  import * as Path from "effect/Path";
5
5
  import type { Providers } from "./Providers.ts";
6
6
  export type Dialect = "postgres" | "mysql" | "sqlite";
7
+ /**
8
+ * Options passed through to `drizzle-kit generate`, matching the fields of
9
+ * the same name in `drizzle.config.ts`. `dialect`, `schema` and `out` come
10
+ * from {@link SchemaProps}.
11
+ */
12
+ export type SchemaGenerateOptions = {
13
+ /**
14
+ * Separate statements with `--> statement-breakpoint` markers. Set to
15
+ * `false` to match migrations generated with `breakpoints: false`.
16
+ *
17
+ * @default true
18
+ */
19
+ breakpoints?: boolean;
20
+ /**
21
+ * Generate even when migrations from parallel branches conflict, writing
22
+ * a merge migration. Not supported for postgres.
23
+ *
24
+ * @default false
25
+ */
26
+ ignoreConflicts?: boolean;
27
+ };
7
28
  export type SchemaProps = {
8
29
  /**
9
30
  * Path to the schema module, relative to the current working directory.
@@ -15,8 +36,8 @@ export type SchemaProps = {
15
36
  */
16
37
  schema: string;
17
38
  /**
18
- * Output directory for generated migrations. Each migration is written as
19
- * `{out}/{timestamp}_migration/{migration.sql, snapshot.json}`. Pass this
39
+ * Output directory for generated migrations, in drizzle-kit's own layout:
40
+ * `{out}/{timestamp}_{name}/{migration.sql, snapshot.json}`. Pass this
20
41
  * through as a database resource's `migrations` prop (`Neon.Branch`,
21
42
  * `Fly.Postgres`, `Cloudflare.D1.Database`, …) to apply pending
22
43
  * migrations on deploy.
@@ -25,12 +46,17 @@ export type SchemaProps = {
25
46
  */
26
47
  out?: string;
27
48
  /**
28
- * SQL dialect to generate migrations for. Selects which `drizzle-kit/api-*`
29
- * module is loaded.
49
+ * SQL dialect to generate migrations for.
30
50
  *
31
51
  * @default "postgres"
32
52
  */
33
53
  dialect?: Dialect;
54
+ /**
55
+ * Options passed through to `drizzle-kit generate`.
56
+ *
57
+ * @example { breakpoints: false }
58
+ */
59
+ generate?: SchemaGenerateOptions;
34
60
  };
35
61
  export type Schema = Resource<"Drizzle.Schema", SchemaProps, {
36
62
  /** Path to the migrations directory, relative to the current working directory. */
@@ -48,9 +74,10 @@ export type Schema = Resource<"Drizzle.Schema", SchemaProps, {
48
74
  /**
49
75
  * A Drizzle schema managed as an Alchemy resource.
50
76
  *
51
- * Wraps drizzle-kit's programmatic API (`generateDrizzleJson` /
52
- * `generateMigration`) so migration SQL is regenerated as part of `alchemy
53
- * deploy` whenever the source schema changes. The output directory is
77
+ * Runs `drizzle-kit generate` through drizzle-kit's programmatic API so
78
+ * migration SQL is regenerated as part of `alchemy deploy` whenever the
79
+ * source schema changes. Ambiguous changes (a rename or a new column/table?)
80
+ * are asked with Alchemy's prompts during plan. The output directory is
54
81
  * intended to be passed straight to a database resource's `migrations`
55
82
  * prop, giving you a single deploy-driven flow:
56
83
  *
@@ -80,6 +107,6 @@ export type Schema = Resource<"Drizzle.Schema", SchemaProps, {
80
107
  *
81
108
  * @resource
82
109
  */
83
- export declare const Schema: import("alchemy/Resource").ResourceClass<Schema>;
84
- export declare const SchemaProvider: () => import("effect/Layer").Layer<Provider.Provider<Schema>, never, import("effect/process/ChildProcessSpawner").ChildProcessSpawner | FileSystem.FileSystem | Path.Path | import("effect/Scope").Scope>;
110
+ export declare const Schema: import("alchemy").ResourceClass<Schema>;
111
+ export declare const SchemaProvider: () => import("effect/Layer").Layer<Provider.Provider<Schema>, never, FileSystem.FileSystem | Path.Path>;
85
112
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../src/Schema.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAgBtD,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,QAAQ,CAC3B,gBAAgB,EAChB,WAAW,EACX;IACE,mFAAmF;IACnF,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,EACD,KAAK,EACL,SAAS,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,MAAM,kDAAqC,CAAC;AAiBzD,eAAO,MAAM,cAAc,2MA4VxB,CAAC"}
1
+ {"version":3,"file":"Schema.d.ts","sources":["../src/Schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG5C,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAGhD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAIpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAkJtD;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,qBAAqB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,QAAQ,CAC3B,gBAAgB,EAChB,WAAW,EACX;IACE,mFAAmF;IACnF,GAAG,EAAE,MAAM,CAAC;IACZ;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB,EACD,KAAK,EACL,SAAS,CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,MAAM,yCAAqC,CAAC;AAwEzD,eAAO,MAAM,cAAc,yGAkSxB,CAAC"}