@lunora/cli
Version:
The Lunora CLI: init, dev, deploy, codegen, migrate, seed, doctor, insights, logs, registry, and the rest of the project commands
2 lines (1 loc) • 2.41 kB
JavaScript
import{d as u}from"../packem_shared/command-B6vu47iR.mjs";import{EXIT_CODE as d}from"../packem_shared/EXIT_CODE-DVjUgIaG.mjs";import{a as m}from"../packem_shared/resolve-target-C_ZloTvd.mjs";import{runMigrateGenerateCommand as l,runMigrateDataCommand as p,runMigrateBackendCommand as g,runMigrateCreateCommand as y}from"../packem_shared/runMigrateGenerateCommand-Bd2W9t1k.mjs";const b=a=>{const{argument:o,cwd:s,logger:r,options:t}=a,e=l({cwd:s,logger:r,name:o[1]??t.name});return{code:e.code,data:{empty:e.empty,migrationFile:e.migrationFile===""?void 0:e.migrationFile,subcommand:"generate"},...e.error===void 0?{}:{error:e.error}}},f=async(a,o)=>{const{logger:s,options:r}=a,t=await g({batchSize:r.batchSize,direction:o,fromToken:r.fromToken??r.token,fromUrl:r.fromUrl??r.url,logger:s,out:r.out,prod:r.prod===!0,replace:r.replace===!0,tables:r.tables,toToken:r.toToken??r.token,toUrl:r.toUrl??r.url,yes:r.yes===!0});return{code:t.code,data:{bytes:t.bytes,exported:t.exported,imported:t.imported,replaced:t.replaced,subcommand:o},...t.error===void 0?{}:{error:t.error}}},h=async a=>{const{argument:o,cwd:s,logger:r,options:t}=a,e=o[1]??t.name;if(!e){const c="migrate create requires a name. Usage: lunora migrate create <name> [--table <table>]";return r.error(c),{code:d.USAGE,error:c}}const n=await y({cwd:s,logger:r,name:e,table:t.table});return{code:n.code,data:{file:n.file===""?void 0:n.file,name:e,subcommand:"create"}}},w=async(a,o)=>{const{argument:s,cwd:r,logger:t,options:e}=a,n=s[1]??e.name;if(!n){const i=`migrate ${o} requires a migration id. Usage: lunora migrate ${o} <id>`;return t.error(i),{code:d.USAGE,error:i}}const c=await p({batchSize:e.batchSize,cwd:r,dryRun:e.dryRun===!0,id:n,logger:t,maxBatches:e.steps,prod:e.prod===!0,subcommand:o,token:e.token,url:m({cwd:r,prod:e.prod===!0,url:e.url}),yes:e.yes===!0});return{code:c.code,data:{id:n,result:c.body,subcommand:o}}},C=u(async({argument:a,cwd:o,logger:s,options:r})=>{const t=a[0],e={argument:a,cwd:o,logger:s,options:r};switch(t){case"create":return await h(e);case"d1-to-hyperdrive":case"hyperdrive-to-d1":return await f(e,t);case"down":case"status":case"up":return await w(e,t);case"generate":return b(e);default:{const n=`unknown migrate subcommand: "${t??""}" — expected generate | create | up | down | status | d1-to-hyperdrive | hyperdrive-to-d1`;return e.logger.error(n),{code:d.USAGE,error:n}}}});export{C as execute};