Giter Site home page Giter Site logo

Comments (3)

antgel avatar antgel commented on May 9, 2024 1

@lecaillon Thanks for the interesting answer. We'd like to ask more questions based on our use case (several databases, one representing general metadata, and the others representing customers, each of which has the same schema - not the same schema as the metadata).

Related to MSBuild vs in-app. It seems from your answer, that we need to loop over all of our databases, which looks like something that we can only do in-app. But the disadvantage is that migration errors won't be caught at build-time, and run-time is a bit late in the day, we wouldn't want our app not to come up because of a migration error. Is there a way to loop through several databases in the MSBuild mode?

If not, and we need to do it at runtime, we have the problems that:

  • A migration failure can stop our app coming up (I guess we could catch the exception but still, it's late in the day.
  • It can make application start slow.

We were thinking to add another project to our solution, which runs before we restart IIS. This project would solely be responsible for Evolve migrations, and if a migration failed, we could abort the deploy pipeline but at least our application wouldn't be affected.

Is this a sane plan, or is there a better way to do it?

from evolve.

lecaillon avatar lecaillon commented on May 9, 2024

You have to change the connexion string between your env.
You can use environment variables to do so: #18

from evolve.

lecaillon avatar lecaillon commented on May 9, 2024

At first, MSBuild mode was more a dev mode. More over you will not be able to loop over your DBs.
You could have one project by database/customler but i'm sure it seems akward.

So, indeed the best option should be the in-app mode.
And if you want to run early, like you said, have a separate dedicated Evolve ConsoleApp that you run after a successfull build (in a MSBuild task of your main project for example). You will then have the same behaviour in dev than in CI.

We have plan to ship an Evolve CLI, but not so soon I think ... #16

Have you got more questions about this issue or can I close it ?

from evolve.

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.