aboutsummaryrefslogtreecommitdiffstats
path: root/railties/test/application/rake/migrations_test.rb
Commit message (Collapse)AuthorAgeFilesLines
* Internal test migrations use the private 'Current' versionMatthew Draper2015-12-151-3/+3
| | | | | | | | Apart from specific versioning support, our tests should focus on the behaviour of whatever version they're accompanying, regardless of when they were written. Application code should *not* do this.
* Make `db:migrate:status` to render `1_some.rb` format migrate files.yui-knk2015-11-021-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `1_valid_people_have_last_names.rb` and `20150823202140_create_users.rb` are valid migration file name. But `1_valid_people_have_last_names.rb` is rendered as `********** NO FILE **********` when `rake db:migrate:status`. Fix to this bug, this commit includes * define some API private methdos and a Constant `match_to_migration_filename?`, `parse_migration_filename`, and `MigrationFilenameRegexp` * use these methods in `db:migrate:status` task Example: These files are in `db/migrate` * 1_valid_people_have_last_names.rb * 20150819202140_irreversible_migration.rb * 20150823202140_add_admin_flag_to_users.rb * 20150823202141_migration_tests.rb * 2_we_need_reminders.rb * 3_innocent_jointable.rb we can migrate all of them. Before ```shell $ bundle exec rake db:migrate:status ... Status Migration ID Migration Name -------------------------------------------------- up 001 ********** NO FILE ********** up 002 ********** NO FILE ********** up 003 ********** NO FILE ********** up 20150819202140 Irreversible migration up 20150823202140 Add admin flag to users up 20150823202141 Migration tests ``` After ```shell $ bundle exec rake db:migrate:status ... Status Migration ID Migration Name -------------------------------------------------- up 001 Valid people have last names up 002 We need reminders up 003 Innocent jointable up 20150819202140 Irreversible migration up 20150823202140 Add admin flag to users up 20150823202141 Migration tests ```
* `dump_schema_after_migration` applies migration tasks other than db:migrateYves Senn2015-06-301-6/+8
| | | | | | | | | | | | | Closes #20743. The task `db:_dump` now only dumps the schema if `ActiveRecord::Base.dump_schema_after_migration` is true. This has effects: - `db:migrate:up` - `db:migrate:down` - `db:forward` - `db:rollback`
* tests, railties tests should use `bin/` executables when possible.Yves Senn2015-06-301-46/+46
| | | | | We recommend using the `bin/` executables in our docs and guides. Let's make sure that our tests execute the same code path.
* Add a test for db:migrate:status to check missing file scenarioViktar Basharymau2014-06-271-0/+15
|
* Return a non zero code when db has never been setup on statusPaul B2014-05-071-1/+1
|
* Add config to disable schema dump after migrationEmil Soman2014-02-061-0/+31
| | | | | | | | | * Add a config on Active Record named `dump_schema_after_migration` * Schema dump doesn't happen if the config is set to false * Set default value of the config to true * Set config in generated production environment file to false * Update configuration guide * Update CHANGELOG
* Fixes for PR [#8267]Marc-Andre Lafortune2012-12-221-2/+2
| | | | | | | | * Fix Migration#reversible by not using `transaction`. * Adapt mysql adapter to updated api for remove_column * Update test after aedcd683684d08eaf30623a4b48ce31a31426372
* Use one system call whenever possible, group rake and Dir.chdir callsCarlos Antonio da Silva2012-03-081-81/+82
|
* Correctly print names of non-timestamped migrations with db:migrate:statusPeter Mitchell2012-02-171-1/+49
|
* convert railties to use AS::TestCaseAaron Patterson2012-01-051-1/+1
|
* Clean up the cache before the request in case we are running in the ↵José Valim2011-12-151-1/+1
| | | | reload_classes_only_on_change schema.
* Fix indentationPiotr Sarnacki2011-12-091-67/+67
|
* Allow to run migrations with given scope, with SCOPE=<scope>Piotr Sarnacki2011-12-091-0/+24
| | | | | | | | | | | Scope in migrations can be defined by adding suffix in filename, like: 01_a_migration.blog.rb. Such migration have blog scope. Scope is automatically added while copying migrations from engine, so if you want to revert all of the migrations from given engine, you can just run db:migrate with SCOPE, like: rake db:migrate SCOPE=blog
* Moves migrations tests from railties/test/application/rake_test.rb to ↵Kazimierz Kiełkowicz2011-12-071-0/+85
railties/test/application/rake/migrations_test.rb