Implicit postgresql dependency in "m create user" / "m create admin"

Viewed 99

I was trying to set up a test instance of business-m with SQLite DB, and it turned out that there is an implicit dependency of Postgres in some parts of the system (e.g. m create user / m create admin).

This might need to be fixed to keep the database independence of FrameworkM.

PS: I love the latest blog post.

2 Answers

Thank you for bringing this up! You were absolutely right—there were some implicit Postgres dependencies lingering in the business-m launcher commands (like database creation and teardown) and the ledger configurations that were getting in the way of a pure SQLite setup.

We have just pushed a comprehensive fix to address this. business-m is now fully database-agnostic and aligns perfectly with framework-m's architecture.

Specifically, we made the following updates:

CLI & Launcher Improvements: The database initialization and drop-databases commands now intelligently handle SQLite files (e.g., automatically cleaning up .db files) and gracefully skip Postgres-specific teardown operations when using other backends.
Ledger Independence: The embedded book-keeper and stock-keeper services now default to sqlalchemy (instead of tigerbeetle and postgres) and properly respect standard DATABASE_URL configurations.
Resolver Fallbacks: Database resolvers across the business-m shell now correctly fall back to generic SQLAlchemy environment variables, completely removing the hardcoded Postgres defaults.
We have thoroughly tested the business-m shell end-to-end using SQLite, and everything is working smoothly. You should now be able to easily spin up your test instances with SQLite out-of-the-box.

Fix merged to the main branch: https://gitlab.com/castlecraft/business-m/-/merge_requests/188

Please pull the latest changes from the main branch (or the latest release) and let us know if you run into any other friction points. Thanks again for helping us improve business-m!

business-m setup is not cleaned up for imports.

the playground is purely using sqlite. it is non business-m pure framework app.

Ansh tried getting started and it worked. Noman is using Framework M to build mariadb app without postgres.

I'll clean up business m for imports.

2026-09-11: fix merged to main branch https://gitlab.com/castlecraft/business-m/-/merge_requests/181
2026-09-12: standardize everything to sqlalchemy, https://gitlab.com/castlecraft/business-m/-/merge_requests/182
2026-09-17: someone try with Oracle, MS SQL or MySQL/MariaDB please!

Related