Jump to content

Support for other databases, specifically Postgres.


tombert

Recommended Posts

yea for users they are done like that because we currently don't need to sort or filter based on any user properties, so blob storage isn't much of a problem.

Link to comment
Share on other sites

Dibbes

@Dibbes  I have no issue with MySQL or Mongo or Couch or any database as long as it can handle more than one user at a time. 

 

That said, Postgres has the advantage of a) being open source, B) relatively fast, c) having JSON as a first-class type, which, since Emby stores its configurations as JSON within SQLite, makes Postgres an especially nice fit. 

 

That said, if I manage to pull this off (which I think I will; I'm making good progress implementing the classes in F#), I think it will be relatively easy to fork it and add support for any database you'd like.

 

Reason I was asking is that I already have a MSSQL server running and was wondering if support could be broadened to include MSSQL, eventually :)

Link to comment
Share on other sites

tombert

yea for users they are done like that because we currently don't need to sort or filter based on any user properties, so blob storage isn't much of a problem.

That's kind of what I figured; that said, if I'm using Postgres anyway, I can store those configurations as a plain JSONB format, which will then give me the option to query against it anyway.  Not "necessary" in the classical sense of the word, but I don't think it's a bad thing either.

Link to comment
Share on other sites

tombert

Reason I was asking is that I already have a MSSQL server running and was wondering if support could be broadened to include MSSQL, eventually :)

I'm not opposed to it; I do not have a Windows machine in which to run MSSQL, but once I get my driver fully working I will link to the source code here and you will be subsequently welcomed and encouraged to fork it for other databases.

Edited by tombert
  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
tombert

I might be opening up the doors for a flame here for reviving an older topic, but I figured that anyone following this topic might be interested. 

 

 

I have made some degree of progress on this, thought it's taking slightly longer than I thought it would; there are a lot more classes that I didn't notice before to re-implement.

 

I have some basic work done in F# (https://github.com/Tombert/embypostgres), and while I do think I will get this completed soonish, I cannot commit to any kind of timeline. 

 

I am very open to pull-requests, though I would prefer to keep the entire codebase F#, if for no other reason than it will be easier for me to maintain.  The code is a bit of a mess right now; generally I write a "rough cut" of my code, then make a few sweeps to clean stuff up, though that would also be ideal for a PR. 

 

Anyway, just wanted to point out that I have not forgotten about this!

  • Like 4
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...