GithubHelp home page GithubHelp logo

Suggestions about listmonk HOT 8 CLOSED

knadh avatar knadh commented on May 11, 2024
Suggestions

from listmonk.

Comments (8)

hsluoyz avatar hsluoyz commented on May 11, 2024 5

Another vote for MySQL. I can tolerate some performance downgrade to use MySQL.

from listmonk.

sals9 avatar sals9 commented on May 11, 2024 4

I vote for MySQL as well!

from listmonk.

knadh avatar knadh commented on May 11, 2024 1

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.

knadh avatar knadh commented on May 11, 2024 1

@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.

xeoncross avatar xeoncross commented on May 11, 2024

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.

knadh avatar knadh commented on May 11, 2024

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.

vladaman avatar vladaman commented on May 11, 2024

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.

knadh avatar knadh commented on May 11, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.