@bsv/overlay
Version:
BSV Blockchain Overlay Services Engine
63 lines • 2.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.up = up;
exports.down = down;
async function up(knex) {
const client = (knex.client.config.client || '').toLowerCase();
/* ---------- outputs.outputScript ---------- */
if (client.startsWith('mysql')) {
// MySQL / MariaDB – enlarge to LONGBLOB (4 GB)
await knex.schema.alterTable('outputs', table => {
table.specificType('outputScript', 'LONGBLOB').alter();
});
}
else if (client === 'sqlite3') {
// SQLite – plain BLOB is already plenty, but run alter so Knex’s
// internal schema snapshot stays in sync.
await knex.schema.alterTable('outputs', table => {
table.binary('outputScript').alter();
});
}
/* ---------- transactions.beef ---------- */
// This column was already created as LONGBLOB in migration 3,
// but we enlarge defensively in case someone ran only the early
// migrations on a new database.
if (client.startsWith('mysql')) {
await knex.schema.alterTable('transactions', table => {
table.specificType('beef', 'LONGBLOB').alter();
});
}
else if (client === 'sqlite3') {
await knex.schema.alterTable('transactions', table => {
table.binary('beef').alter();
});
}
}
async function down(knex) {
const client = (knex.client.config.client || '').toLowerCase();
/* ---------- outputs.outputScript ---------- */
if (client.startsWith('mysql')) {
// Revert to VARBINARY(255) – matches Knex’s default .binary()
await knex.schema.alterTable('outputs', table => {
table.binary('outputScript').alter();
});
}
else if (client === 'sqlite3') {
// No-op (SQLite stores the whole blob either way)
await knex.schema.alterTable('outputs', table => {
table.binary('outputScript').alter();
});
}
/* ---------- transactions.beef ---------- */
if (client.startsWith('mysql')) {
await knex.schema.alterTable('transactions', table => {
table.binary('beef').alter();
});
}
else if (client === 'sqlite3') {
await knex.schema.alterTable('transactions', table => {
table.binary('beef').alter();
});
}
}
//# sourceMappingURL=2025-05-28-001-enlarge.js.map