Comments (8)
Another vote for MySQL. I can tolerate some performance downgrade to use MySQL.
from listmonk.
I vote for MySQL as well!
from listmonk.
Can you split main package to cmd/listmonk
Will consider this. The re-usable and extensible parts are already packages and it's just HTTP handlers in the main package.
Also why you dont use something like xorm to abstract db access?
I took this route initially. Tried gorm, xorm etc., but dealing with ORMs was limiting and painful. Most of listmonk's queries use CTEs extensively and they'd have to be hand-written anyway. Also, listmonk relies heavily on Postgres features such as JSON blob and indexes. I don't think the complexity of supporting multiple DB backends is beneficial.
The table structures are really simple, so it's straight forward to integrate with external CRMs by directly manipulating table data or using APIs.
Thanks
from listmonk.
@hsluoyz As I wrote earlier, listmonk uses a number of Postgres specific features. While it is possible to build an abstraction layer to add support for multiple storage backends (and this may happen in the future), there are definitely no plans of adding MySQL or any other storage backend right now. There are other features that take priority. Thanks.
from listmonk.
Most of listmonk's queries use CTEs extensively and they'd have to hand-written anyway.
I agree. I've worked on similar software and the queries really need to be written natively for the part of the software that interacts with an SQL store. (Any NoSQL storage also must be carefully designed.) The way you predefined all your queries is very nice and manageable anyway.
from listmonk.
Cheers @xeoncross. ORMs may give a headstart, but in the long run, they almost always end up being inadequate. Easier to just write SQL than to learn an obtuse ORM language :)
from listmonk.
Listmonk looks great but the reason why we still stick to other paid products is that we don't want to maintain Postgres. Postgres requirement is a blocked for us. We run exclusively on MySQL. Adding support for MySQL would be great.
from listmonk.
Thanks @vladaman, but adding support for two large DBs is not feasible for a product like listmonk, unfortunately. If anything, the support should be for SQLite enabling it listmonk to be able to run with zero dependencies.
On a slightly unrelated note, we find Postgres to be far more stable and far more easier to maintain. For non-massive DBs, it's pretty much install and forget!
from listmonk.
Related Issues (20)
- Accessing file storage images on html templates HOT 1
- nginx config for sub domain HOT 1
- I built a WordPress plugin to connect to listmonk for people without programming skills HOT 1
- AWS SES bounce processing docs incomplete HOT 3
- Feature Request: Bounce processing for Zoho Mail HOT 10
- Way to use context variables/expressions in the template
- Where find the content in {{ template "content" . }} HOT 7
- Scheduled transactional emails HOT 1
- Feature Request - Ability to view subscribers to each list HOT 9
- AB Testing HOT 1
- How do i setup development environment? HOT 2
- Partially update a user
- Custom CSS in Admin Panel Not Overriding Main CSS HOT 2
- Need help integrating Listmonk with mailhog or mailpit HOT 2
- Add external font like inter, roboto on rich text editor HOT 2
- 1-click unsubscribe HOT 5
- How to insert your own HTML HOT 5
- Change the performance setting in the middle of a running campaign. HOT 1
- New Python API Client for Integrating with Python Apps HOT 2
- Data loss after reboot HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from listmonk.