@sqlanvil/core 1.5.0 → 1.6.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/configs.proto CHANGED
@@ -324,6 +324,9 @@ message ActionConfig {
324
324
  // Postgres and Supabase specific options.
325
325
  PostgresOptions postgres = 25;
326
326
  SupabaseOptions supabase = 26;
327
+
328
+ // MySQL/MariaDB specific options (engine/charset/collation + indexes).
329
+ MysqlOptions mysql = 27;
327
330
  }
328
331
 
329
332
  message Metadata {
@@ -539,6 +542,9 @@ message ActionConfig {
539
542
  // Postgres and Supabase specific options.
540
543
  PostgresOptions postgres = 28;
541
544
  SupabaseOptions supabase = 29;
545
+
546
+ // MySQL/MariaDB specific options (engine/charset/collation + indexes).
547
+ MysqlOptions mysql = 30;
542
548
  }
543
549
 
544
550
  message AssertionConfig {
@@ -953,6 +959,28 @@ message PostgresOptions {
953
959
  string refresh_policy = 7;
954
960
  }
955
961
 
962
+ // MySQL/MariaDB table options + secondary indexes. First cut: engine/charset/
963
+ // collation and plain/unique secondary indexes. (No partitioning, FULLTEXT/
964
+ // SPATIAL/prefix indexes, or row_format yet — those are later follow-ups.)
965
+ message MysqlOptions {
966
+ // Storage engine, emitted as ENGINE=<engine> (e.g. "InnoDB", "MyISAM").
967
+ // Omit to use the server default.
968
+ string engine = 1;
969
+ // Default character set, emitted as DEFAULT CHARSET=<charset> (e.g. "utf8mb4").
970
+ string charset = 2;
971
+ // Default collation, emitted as COLLATE=<collation> (e.g. "utf8mb4_unicode_ci").
972
+ string collation = 3;
973
+
974
+ message Index {
975
+ // Optional; when omitted, derived as <table>_<cols>_idx (or _key if unique),
976
+ // capped at 63 chars.
977
+ string name = 1;
978
+ repeated string columns = 2;
979
+ bool unique = 3;
980
+ }
981
+ repeated Index indexes = 4;
982
+ }
983
+
956
984
  // SupabaseOptions — Supabase-specific platform features layered on top of
957
985
  // standard Postgres. Used as a peer of `postgres: {...}` for projects
958
986
  // targeting `warehouse: { kind: supabase }`.
package/core.proto CHANGED
@@ -233,6 +233,7 @@ message Table {
233
233
  BigQueryOptions bigquery = 22;
234
234
  PostgresOptions postgres = 39;
235
235
  SupabaseOptions supabase = 40;
236
+ MysqlOptions mysql = 41;
236
237
 
237
238
  // Generated.
238
239
  string file_name = 18;
package/package.json CHANGED
@@ -34,7 +34,7 @@
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "version": "1.5.0",
37
+ "version": "1.6.0",
38
38
  "name": "@sqlanvil/core",
39
39
  "description": "sqlanvil core API.",
40
40
  "main": "bundle.js"