Athens: Proposal: Implement MS SQL Server storage driver

Created on 21 Mar 2018  路  8Comments  路  Source: gomods/athens

For completeness and all SQL Server users.
Pop doesn't cover that but there is go-mssqldb.

blocked good first issue

Most helpful comment

@arschles

  1. I think, if we want to ensure athens is working correctly on windows we will have to add Appvoyer integration at some point. Since SQL Server has linux support now we could probably use docker on Travis just like here: https://github.com/aspnet/EntityFrameworkCore/pull/7842/files for now and add Appvoyer later.
    This is probably what I'll end up doing for the pop issue.
  2. Cross-reference to the sql-server pop issue: gobuffalo/pop#40

All 8 comments

Sounds good to me.

Not sure if it's that simple though...
Open questions:

  • Travis does not support SQL server (use appvayor and also test for windows? switch to circleci and use docker image?)
  • how do we manage migrations? The cleanest way would be to let pop do it;) maybe it makes sense to wait for pop to support SQL server?

What do you think @arschles @michalpristas @bketelsen ?

I created an issue on the pop repo and will try to add support for SQL server.

@marpio good points. I'll address each below

Travis does not support SQL server (use appvayor and also test for windows? switch to circleci and use docker image?)

I see a few options. I'll list them below but I really want to hear what you think as well.

  1. Add tests for SQL Server behind a build tag, and then add CircleCI tests to just run against the SQL server tests (we can consider moving over wholesale to circleCI later if it makes sense). This is just about what you said, except we wouldn't immediately move over wholesale - I don't want to make that leap all at once
  2. Wire up appveyor tests using the same build tag approach
  3. Add SQL Server to the docker-compose file and run tests inside a container linked to it. This would require us to run travis tests with docker enabled

I'm not familiar with appveyor enough to comment on that, so if it's between (1) and (3), I'd go with (1).

Now that I've blabbed on I really want to hear what you think?

how do we manage migrations? The cleanest way would be to let pop do it;) maybe it makes sense to wait for pop to support SQL server?

Agree. Perhaps we should wait on this completely until pop supports it. Can you cross-reference the issue in pop to this issue?

@arschles

  1. I think, if we want to ensure athens is working correctly on windows we will have to add Appvoyer integration at some point. Since SQL Server has linux support now we could probably use docker on Travis just like here: https://github.com/aspnet/EntityFrameworkCore/pull/7842/files for now and add Appvoyer later.
    This is probably what I'll end up doing for the pop issue.
  2. Cross-reference to the sql-server pop issue: gobuffalo/pop#40

@marpio are we waiting for https://github.com/gobuffalo/pop/issues/40 still? I am going to move this to the v2 milestone for now, and if we get mssql support before then we can move it back in

Which is waiting for https://github.com/jmoiron/sqlx/pull/406 It will take a while probably so moving this is definitely a good idea.

Closing as we're getting rid of RDBMS

Was this page helpful?
0 / 5 - 0 ratings

Related issues

komuw picture komuw  路  3Comments

sidprak picture sidprak  路  3Comments

marpio picture marpio  路  3Comments

komuw picture komuw  路  3Comments

fedepaol picture fedepaol  路  4Comments