go-workflows icon indicating copy to clipboard operation
go-workflows copied to clipboard

add Turso backend implementation

Open sahidrahman404 opened this issue 1 year ago • 0 comments

This implementation is similar to the SQLite backend, with some modifications. Instead of the previous driver, I switched to using the libsql client. Additionally, I made changes to the NewDatabase function parameters to support the Turso DSN.

If you prefer, you can still utilize the NewInMemoryBackend method, in which case the driver will fallback to using modernc.org/sqlite.

I removed the 'ReadOnly' transaction option since the libsql client currently does not currently support it.

I have tested this backend implementation with my current workflow, and it functions flawlessly.

Overall, these modifications have allowed me to successfully run the client within my application and the worker as a standalone application.

I also have plan to create an example similar to Temporal money transfer example to demonstrate how to use Turso with go-workflows

sahidrahman404 avatar Dec 17 '23 15:12 sahidrahman404