Comments (6)
Sounds like the easiest way to do it indeed.
from ruckusing-migrations.
When you say rollback do you mean that if during a deploy, the migrations complete but then the deploy fails after that, so you want to rollback any DB changes?
from ruckusing-migrations.
yes, but also there is another case where the deploy succeeds, but you then want to roll it back anyway. In that case, you need to read the version from the schema.txt file of the OLD deploy. It is not currently written to the schema.txt so this would not be possible.
from ruckusing-migrations.
is this issue still valid ? if you want to rollback, you can do php ruckus.php db:migrate VERSION=-1
. Or may be I'm misunderstanding something
Thanks
from ruckusing-migrations.
@salimane -- db:migrate VERSION=-1
isn't sufficient, as there is no guarantee that each Capistrano deploy added only one new migration to the live database. The feature request here seems to be for Capistrano to remember the schema version of each deploy, so that Capistrano "rollbacks" can integrate with ruckus.
from ruckusing-migrations.
One way to implement this might be to add a new ruckus command which rolls back any migrations which are found in the schema_migrations
table, but which do not have corresponding migrations in the codebase.
Say ruckus.php db:rollback_to_codebase
Then, in capistrano, after reverting the current
link to the old codebase dir, you would cd
into that version of the code and run the new rollback command.
( "you need to read the version from the schema.txt file of the OLD deploy" -- this approach would work in projects where the DB history is completely linear, but not on projects which have branches + merges. The version number is not sufficient to uniquely identify a DB version in those cases. )
from ruckusing-migrations.
Related Issues (20)
- Run migration through code HOT 1
- db:migrate throws exception if migrations dir is not writable HOT 3
- migrate_from_offset issue HOT 1
- Unable to execute query for trigger HOT 10
- DB connection issue when trying to setup Ruckusing Migrations - Abstract.php No Such File Or Directory HOT 4
- Error during migrations and rollbacks. "Reason: Commands out of sync; you can't run this command now" HOT 3
- Is it possible to execute the ruckusing-migration through http request HOT 4
- Is there any plan to have more details in schema_migrations table? HOT 1
- MySQL timestamp needs a NULL attribute when null == true
- how can i add auto_increment column to work with mysql and postgres databases? HOT 5
- FOREIGN KEY Constraint HOT 1
- Exception not properly thrown HOT 1
- Documentation for config file HOT 1
- CREATE INDEX CONCURRENTLY cannot run inside a transaction block
- Fatal error: Class 'mysqli' not found in /web/vendor/ruckusing/ruckusing-migrations/lib/Ruckusing/Adapter/MySQL/Base.php on line 1259 HOT 3
- Error:I dont know what column type of 'longtext' maps to for MySQL
- Roadmap: Integrate Percona Toolkit? HOT 1
- Use PSR LoggerInterface instead of Ruckusing_Util_Logger.
- Unable to connect via TLS for MySQL connections
- too many connections
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 ruckusing-migrations.