fix(release): execute d1 migrations without shell

This commit is contained in:
ZacharyZhang-NY committed 2026-04-22 14:52:54 -04:00
1 parent cb315f308d
commit eec26a09a3
4 files changed
+270 -31

No files matched your search

+2 -19
View File
@@ -7,6 +7,7 @@ import { loadEnvFile } from "./release/lib/dotenv.mjs";
import { createRunner } from "./release/lib/process.mjs";
import { createWorkflowHelpers } from "./release/lib/workflow.mjs";
import { createSnapshotHelpers } from "./release/lib/snapshot.mjs";
import { applyD1Migrations } from "./release/lib/d1-migrations.mjs";
const __dirname = dirname(fileURLToPath(import.meta.url));
const rootDir = join(__dirname, "..");
@@ -221,25 +222,7 @@ async function uploadWinAndLinuxToR2() {
}
async function applyLandingMigrations() {
const migrationsDir = join(landingDir, "migrations");
if (!existsSync(migrationsDir)) {
return;
}
const wranglerToml = await readFile(join(landingDir, "wrangler.toml"), "utf8");
const match = wranglerToml.match(/database_name\s*=\s*"([^"]+)"/);
if (!match) {
return;
}
const databaseName = match[1];
const migrationFiles = (await readdir(migrationsDir))
.filter((fileName) => fileName.endsWith(".sql"))
.sort();
for (const fileName of migrationFiles) {
const command = `printf 'y\\n' | npx wrangler d1 execute ${databaseName} --remote --file migrations/${fileName}`;
await run("bash", ["-lc", command], { cwd: landingDir });
}
await applyD1Migrations({ landingDir, run });
}
async function buildAndDeployLanding() {