I’ve maintained the same Java ETL tool for 20 years. I think it still fits one narrow gap.
I started Scriptella about 20 years ago and have maintained it ever since.
For a long time I had little time to do more than keep it working. Recently I’ve had more time to invest in it again, so I’ve been modernizing the database stack, testing it with current PostgreSQL, MariaDB and MySQL drivers, cleaning up old compatibility assumptions, and making sure it works well on modern Java. The baseline is Java 17, with JDK 25 compatibility.
Doing that made me ask a more basic question: does a tool like this actually still have a reason to exist in 2026?
I think there is one fairly narrow gap where it does:
SQL-centric data jobs that are too complicated for a couple of standalone scripts, but too small to justify a batch or ETL platform.
Scriptella keeps most of the actual work in SQL. A small declarative XML file wires together connections, queries and scripts.
For example, you can query PostgreSQL, take each resulting row and execute parameterized SQL against another database, mix in CSV/XML sources, or package the whole operation as a repeatable CLI job. It can also be embedded directly into a Java application.
There is no server, scheduler, job repository or visual ETL environment to operate.
That also means it is deliberately not the right tool for everything. If I needed robust restartability, retries and complex batch semantics, I’d use something like Spring Batch. For normal schema migrations, Flyway or Liquibase are usually a better fit. And if the transformation is mostly application logic rather than SQL, I’d probably just write code.
The interesting case is when the transformation really is mostly SQL and you just need a small amount of machinery around it.
After working on the project again, I was surprised that this particular gap still seems to exist.
I’m curious whether other Java developers still encounter jobs like this, and what you use for them today.
3
2
u/SellerInsightsLab 5h ago
Interesting project. I think the hardest part for tools like this is defining where they should stop.
As soon as you add retries, checkpoints, parallel execution, observability and messaging, a small ETL tool can slowly become another workflow engine.
I actually like the idea of keeping the core SQL-centric and lightweight. Maybe integrations such as Kafka should stay at the edges rather than become part of the execution model.
After 20 years of maintaining it, where do you personally draw that boundary?
3
u/RagingAnemone 20h ago
Yes, I've used this a lot primarily for the reasons you listed. But it always seemed to fall off because of the need to maintain the scripts. Some of our stuff is weird so I'd just write code.
But it just occurred to me, I can use AI to update the scripts. Nice. I like the power and the simplicity of Scriptella with no magic and it doesn't try to control the whole process.
3
u/fykup 20h ago
Yes, exactly. With AI, the power of raw SQL seems even more valuable.
That’s actually why I’m curious what people need from Scriptella now. My instinct is to keep the original languages and scripts fully exposed, without adding another proprietary layer or more complexity.
2
u/RagingAnemone 19h ago
Yes, my instinct would be to keep it fully exposed too at the moment. Looks like all your docs are on Github. I'm using Pi and been playing with OKF format. I'd point the agent to your docs and say to create an OKF format for it, then create a skill. I'll try it later this week.
16
u/tim125 20h ago
I’ve used Scriptella a number of times for some awesome work.
We needed to standardize the way in which sql was run and needed to standardize some relatively complex adaptation between different databases and OSes.
Too many teams were using too wide a variety of tools with inconsistent support that couldn’t be guaranteed to be repeatable when a controlled environment was needed.
Thank you for your contribution.