Giter Club home page Giter Club logo

Comments (10)

lecaillon avatar lecaillon commented on July 28, 2024

Hi @adiefrat Thx for the feedback

If you want me to help you, you'll have to give a lot more details about your issue.
Because this test in Evolve checks that what you describe cannot happenned:

Assert.True(evolve.NbMigration == 0, $"There should be no more migration after a successful one, not {evolve.NbMigration}.");

So what version of Evolve do you use, what RDBMS and its version, how do you execute your migrations, what names because this one (V1_2_InsertIntoTestTable) has no extension and no separator (__) etc ...
The more the easier for me :)

from evolve.

adiefrat avatar adiefrat commented on July 28, 2024

Hey,
I'm using Evolve 1.8.0 with MSSQL(SQLServer) and .NET Framework 4.7.1. I set the migrations names with
<add key="Evolve.SqlMigrationSeparator" value="_" />so the files names looks like this: V01_CreateTestTable, V02_InsertIntoTestTable.

This is the code I added to my Web.config:
<add key="Evolve.ConnectionString" value="Server=.;Database=;Integrated Security=True;" /> <add key="Evolve.Driver" value="SqlClient" /> <add key="Evolve.Locations" value="C:\Project\CurrentProject\Sql_Scripts\" /> <add key="Evolve.Command" value="migrate" /> <add key="Evolve.SqlMigrationSeparator" value="_" /> <add key="Evolve.EnableClusterMode" value="false" />

from evolve.

lecaillon avatar lecaillon commented on July 28, 2024

Try using the default separator please __. Or anything but _

from evolve.

adiefrat avatar adiefrat commented on July 28, 2024

Tried that. Still the same.
This is the data in my changelog table
image

from evolve.

lecaillon avatar lecaillon commented on July 28, 2024

I see that the V02 script is executed multiple timples. But why not the V1 also ? strange.
Can you please change the
add key="Evolve.Command" value="migrate" to
add key="Evolve.Command" value="erase", execute and migrate again
And then test it again, because I see the sequence does not start to 1 (12 on your screenshot)

from evolve.

adiefrat avatar adiefrat commented on July 28, 2024

I didn't run V01 on the second because its creating a table which is already exist from the first run (12 on my screenshot). When i'm running all the scrips again I'm getting the next error:
'EvolveException: Error executing script: V01__CreateTestTable.sql. There is already an object named 'EvolveTest' in the database...'
I'm getting the same error when running it again after executing erase.

from evolve.

lecaillon avatar lecaillon commented on July 28, 2024

I'm getting the same error when running it again after executing erase.

Please create a new database for these tests.
Run Evolve and check the traces in the output window of Visual Studio, check the content of the changelog table and see if your table and data have been created/inserted

There is absolutly non reason for this first test to fail.

Then reexcute Evolve wihtout changing anything and tell me what has happened. Send me the output content again

from evolve.

adiefrat avatar adiefrat commented on July 28, 2024

So I created new database and it works.
One of the problems was that I didn't write the DB name in the Evolve connectionstring- solved.
The other problem is that if I have a table that belongs to "dbo" schema and was not created by Evolve, erase will not work with the next error:
" Cannot erase schema dbo. This schema was not empty when Evolve first started migrations."
But I want to run the migration on existing db and not on empty one.

from evolve.

lecaillon avatar lecaillon commented on July 28, 2024

Ok that is a good start :)
Using Evolve to automate sql migrations on an existing database is ok.
The only thing is Evolve cannot erase schemas it has not previously created. And it is perfectly fine. It is the desire behaviour because if the schema was not empty when Evolve first started, it will not be able to rebuild it if it erases it.
So have you still got a problem ?

from evolve.

adiefrat avatar adiefrat commented on July 28, 2024

No.
Can you help me with issue #59 ?

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.