Comments (3)
That's correct, this is working as intended. However, I can see this may not be suitable for some applications.
I've used several tools that leave the database in a "dirty" state and when you're applying migrations on dozens, or even hundreds of systems recovering becomes very challenging.
When we do have to use +goose NO TRANSACTION
we typically isolate those changes to a single file and only down to the statements that truly must run outside a transaction. In practice, for most databases, the number of statements that need to run outside a transaction is very low. So low, that I'd rather not add additional complexity and overhead to handle these edge cases.
from goose.
Interesting thanks. I'm curious how you think we should handle a failed long running migration that involves batch inserting data from a large table into another. Using the Goose's API, I don't think we have a way of knowing whether this migration was previously attempted and cannot stop ourselves from duplicating the work that we had already done. Of course this is something we can write tooling for ourselves to guard against, but it could be nice to have this given to us from Goose directly.
from goose.
Related Issues (20)
- feat: Expand Store interface; add GetLatestVersion method in Provider
- Command "goose validate" don't run HOT 1
- Make goose annotations case-insensitive
- Ydb: type casting PG<->YQL was broken in latest YDB HOT 1
- Unable to create postgres schema. HOT 2
- ENVSUB is not working HOT 7
- Migrations created with local timestamp instead of utc HOT 3
- Need advice and guidance on our case. HOT 3
- Semicolon Detection Fails for "--" in Strings in SQL Statements HOT 3
- Support for quiet operations HOT 4
- Creating two migrations at the same time HOT 1
- New feature `up-preview` `down-preview`? HOT 3
- Request to release 3.18.1 HOT 4
- Question: Is it possible to conditionally run different statements based on type of database? HOT 5
- Build breaks: undefined symbol: duckdb_xx HOT 4
- Feature request: goose seed HOT 4
- failed to insert new goose version: Error 1054 (42S22): Unknown column '$1' in 'field list' HOT 2
- clickhouse: getting a sql.ErrSkip at createVersionTable() HOT 4
- Error when executing SQL migration with specific comments HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from goose.