diff --git a/activerecord/README.rdoc b/activerecord/README.rdoc
index 306982d17b..eee2185232 100644
--- a/activerecord/README.rdoc
+++ b/activerecord/README.rdoc
@@ -140,7 +140,7 @@ This would also define the following accessors: Product#name and
* Database agnostic schema management with Migrations.
- class AddSystemSettings < ActiveRecord::Migration[6.0]
+ class AddSystemSettings < ActiveRecord::Migration[7.0]
def up
create_table :system_settings do |t|
t.string :name
diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb
index 91676e8b72..d6e635367d 100644
--- a/activerecord/lib/active_record/associations.rb
+++ b/activerecord/lib/active_record/associations.rb
@@ -1780,7 +1780,7 @@ module ActiveRecord
# The join table should not have a primary key or a model associated with it. You must manually generate the
# join table with a migration such as this:
#
- # class CreateDevelopersProjectsJoinTable < ActiveRecord::Migration[6.0]
+ # class CreateDevelopersProjectsJoinTable < ActiveRecord::Migration[7.0]
# def change
# create_join_table :developers, :projects
# end
diff --git a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
index db1c5efe84..7b0bd6f60b 100644
--- a/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
+++ b/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb
@@ -278,7 +278,7 @@ module ActiveRecord
# Inside migration files, the +t+ object in {create_table}[rdoc-ref:SchemaStatements#create_table]
# is actually of this type:
#
- # class SomeMigration < ActiveRecord::Migration[6.0]
+ # class SomeMigration < ActiveRecord::Migration[7.0]
# def up
# create_table :foo do |t|
# puts t.class # => "ActiveRecord::ConnectionAdapters::TableDefinition"
diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb
index 312b6b3c1d..8b8f6d029f 100644
--- a/activerecord/lib/active_record/migration.rb
+++ b/activerecord/lib/active_record/migration.rb
@@ -20,7 +20,7 @@ module ActiveRecord
# For example the following migration is not reversible.
# Rolling back this migration will raise an ActiveRecord::IrreversibleMigration error.
#
- # class IrreversibleMigrationExample < ActiveRecord::Migration[6.0]
+ # class IrreversibleMigrationExample < ActiveRecord::Migration[7.0]
# def change
# create_table :distributors do |t|
# t.string :zipcode
@@ -38,7 +38,7 @@ module ActiveRecord
#
# 1. Define #up and #down methods instead of #change:
#
- # class ReversibleMigrationExample < ActiveRecord::Migration[6.0]
+ # class ReversibleMigrationExample < ActiveRecord::Migration[7.0]
# def up
# create_table :distributors do |t|
# t.string :zipcode
@@ -63,7 +63,7 @@ module ActiveRecord
#
# 2. Use the #reversible method in #change method:
#
- # class ReversibleMigrationExample < ActiveRecord::Migration[6.0]
+ # class ReversibleMigrationExample < ActiveRecord::Migration[7.0]
# def change
# create_table :distributors do |t|
# t.string :zipcode
@@ -228,7 +228,7 @@ module ActiveRecord
#
# Example of a simple migration:
#
- # class AddSsl < ActiveRecord::Migration[6.0]
+ # class AddSsl < ActiveRecord::Migration[7.0]
# def up
# add_column :accounts, :ssl_enabled, :boolean, default: true
# end
@@ -248,7 +248,7 @@ module ActiveRecord
#
# Example of a more complex migration that also needs to initialize data:
#
- # class AddSystemSettings < ActiveRecord::Migration[6.0]
+ # class AddSystemSettings < ActiveRecord::Migration[7.0]
# def up
# create_table :system_settings do |t|
# t.string :name
@@ -376,7 +376,7 @@ module ActiveRecord
# bin/rails generate migration add_fieldname_to_tablename fieldname:string
#
# This will generate the file timestamp_add_fieldname_to_tablename.rb, which will look like this:
- # class AddFieldnameToTablename < ActiveRecord::Migration[6.0]
+ # class AddFieldnameToTablename < ActiveRecord::Migration[7.0]
# def change
# add_column :tablenames, :fieldname, :string
# end
@@ -402,7 +402,7 @@ module ActiveRecord
#
# Not all migrations change the schema. Some just fix the data:
#
- # class RemoveEmptyTags < ActiveRecord::Migration[6.0]
+ # class RemoveEmptyTags < ActiveRecord::Migration[7.0]
# def up
# Tag.all.each { |tag| tag.destroy if tag.pages.empty? }
# end
@@ -415,7 +415,7 @@ module ActiveRecord
#
# Others remove columns when they migrate up instead of down:
#
- # class RemoveUnnecessaryItemAttributes < ActiveRecord::Migration[6.0]
+ # class RemoveUnnecessaryItemAttributes < ActiveRecord::Migration[7.0]
# def up
# remove_column :items, :incomplete_items_count
# remove_column :items, :completed_items_count
@@ -429,7 +429,7 @@ module ActiveRecord
#
# And sometimes you need to do something in SQL not abstracted directly by migrations:
#
- # class MakeJoinUnique < ActiveRecord::Migration[6.0]
+ # class MakeJoinUnique < ActiveRecord::Migration[7.0]
# def up
# execute "ALTER TABLE `pages_linked_pages` ADD UNIQUE `page_id_linked_page_id` (`page_id`,`linked_page_id`)"
# end
@@ -446,7 +446,7 @@ module ActiveRecord
# Base#reset_column_information in order to ensure that the model has the
# latest column data from after the new column was added. Example:
#
- # class AddPeopleSalary < ActiveRecord::Migration[6.0]
+ # class AddPeopleSalary < ActiveRecord::Migration[7.0]
# def up
# add_column :people, :salary, :integer
# Person.reset_column_information
@@ -504,7 +504,7 @@ module ActiveRecord
# To define a reversible migration, define the +change+ method in your
# migration like this:
#
- # class TenderloveMigration < ActiveRecord::Migration[6.0]
+ # class TenderloveMigration < ActiveRecord::Migration[7.0]
# def change
# create_table(:horses) do |t|
# t.column :content, :text
@@ -534,7 +534,7 @@ module ActiveRecord
# can't execute inside a transaction though, and for these situations
# you can turn the automatic transactions off.
#
- # class ChangeEnum < ActiveRecord::Migration[6.0]
+ # class ChangeEnum < ActiveRecord::Migration[7.0]
# disable_ddl_transaction!
#
# def up
@@ -698,7 +698,7 @@ module ActiveRecord
# and create the table 'apples' on the way up, and the reverse
# on the way down.
#
- # class FixTLMigration < ActiveRecord::Migration[6.0]
+ # class FixTLMigration < ActiveRecord::Migration[7.0]
# def change
# revert do
# create_table(:horses) do |t|
@@ -717,7 +717,7 @@ module ActiveRecord
#
# require_relative "20121212123456_tenderlove_migration"
#
- # class FixupTLMigration < ActiveRecord::Migration[6.0]
+ # class FixupTLMigration < ActiveRecord::Migration[7.0]
# def change
# revert TenderloveMigration
#
@@ -768,7 +768,7 @@ module ActiveRecord
# when the three columns 'first_name', 'last_name' and 'full_name' exist,
# even when migrating down:
#
- # class SplitNameMigration < ActiveRecord::Migration[6.0]
+ # class SplitNameMigration < ActiveRecord::Migration[7.0]
# def change
# add_column :users, :first_name, :string
# add_column :users, :last_name, :string
@@ -796,7 +796,7 @@ module ActiveRecord
# In the following example, the new column +published+ will be given
# the value +true+ for all existing records.
#
- # class AddPublishedToPosts < ActiveRecord::Migration[6.0]
+ # class AddPublishedToPosts < ActiveRecord::Migration[7.0]
# def change
# add_column :posts, :published, :boolean, default: false
# up_only do
diff --git a/activerecord/lib/active_record/model_schema.rb b/activerecord/lib/active_record/model_schema.rb
index a7d5aea8ad..1971199a29 100644
--- a/activerecord/lib/active_record/model_schema.rb
+++ b/activerecord/lib/active_record/model_schema.rb
@@ -489,7 +489,7 @@ module ActiveRecord
# when just after creating a table you want to populate it with some default
# values, eg:
#
- # class CreateJobLevels < ActiveRecord::Migration[6.0]
+ # class CreateJobLevels < ActiveRecord::Migration[7.0]
# def up
# create_table :job_levels do |t|
# t.integer :id
diff --git a/guides/bug_report_templates/active_record_migrations_gem.rb b/guides/bug_report_templates/active_record_migrations_gem.rb
index c691aab233..2bfa095a8e 100644
--- a/guides/bug_report_templates/active_record_migrations_gem.rb
+++ b/guides/bug_report_templates/active_record_migrations_gem.rb
@@ -29,7 +29,7 @@ end
class Payment < ActiveRecord::Base
end
-class ChangeAmountToAddScale < ActiveRecord::Migration[6.0]
+class ChangeAmountToAddScale < ActiveRecord::Migration[6.1]
def change
reversible do |dir|
dir.up do
diff --git a/guides/bug_report_templates/active_record_migrations_main.rb b/guides/bug_report_templates/active_record_migrations_main.rb
index 61e9c75345..571ba53a02 100644
--- a/guides/bug_report_templates/active_record_migrations_main.rb
+++ b/guides/bug_report_templates/active_record_migrations_main.rb
@@ -28,7 +28,7 @@ end
class Payment < ActiveRecord::Base
end
-class ChangeAmountToAddScale < ActiveRecord::Migration[6.0]
+class ChangeAmountToAddScale < ActiveRecord::Migration[7.0]
def change
reversible do |dir|
dir.up do
diff --git a/guides/source/active_record_basics.md b/guides/source/active_record_basics.md
index a25dad25f6..994c2cb247 100644
--- a/guides/source/active_record_basics.md
+++ b/guides/source/active_record_basics.md
@@ -368,7 +368,7 @@ database that Active Record supports using `rake`. Here's a migration that
creates a table:
```ruby
-class CreatePublications < ActiveRecord::Migration[6.0]
+class CreatePublications < ActiveRecord::Migration[7.0]
def change
create_table :publications do |t|
t.string :title
diff --git a/guides/source/active_record_migrations.md b/guides/source/active_record_migrations.md
index 165d9ff73e..ade6fb9dda 100644
--- a/guides/source/active_record_migrations.md
+++ b/guides/source/active_record_migrations.md
@@ -34,7 +34,7 @@ history to the latest version. Active Record will also update your
Here's an example of a migration:
```ruby
-class CreateProducts < ActiveRecord::Migration[6.0]
+class CreateProducts < ActiveRecord::Migration[7.0]
def change
create_table :products do |t|
t.string :name
@@ -71,7 +71,7 @@ If you wish for a migration to do something that Active Record doesn't know how
to reverse, you can use `reversible`:
```ruby
-class ChangeProductsPrice < ActiveRecord::Migration[6.0]
+class ChangeProductsPrice < ActiveRecord::Migration[7.0]
def change
reversible do |dir|
change_table :products do |t|
@@ -86,7 +86,7 @@ end
Alternatively, you can use `up` and `down` instead of `change`:
```ruby
-class ChangeProductsPrice < ActiveRecord::Migration[6.0]
+class ChangeProductsPrice < ActiveRecord::Migration[7.0]
def up
change_table :products do |t|
t.change :price, :string
@@ -128,7 +128,7 @@ $ bin/rails generate migration AddPartNumberToProducts
This will create an appropriately named empty migration:
```ruby
-class AddPartNumberToProducts < ActiveRecord::Migration[6.0]
+class AddPartNumberToProducts < ActiveRecord::Migration[7.0]
def change
end
end
@@ -150,7 +150,7 @@ $ bin/rails generate migration AddPartNumberToProducts part_number:string
will generate
```ruby
-class AddPartNumberToProducts < ActiveRecord::Migration[6.0]
+class AddPartNumberToProducts < ActiveRecord::Migration[7.0]
def change
add_column :products, :part_number, :string
end
@@ -166,7 +166,7 @@ $ bin/rails generate migration AddPartNumberToProducts part_number:string:index
will generate the appropriate `add_column` and [`add_index`][] statements:
```ruby
-class AddPartNumberToProducts < ActiveRecord::Migration[6.0]
+class AddPartNumberToProducts < ActiveRecord::Migration[7.0]
def change
add_column :products, :part_number, :string
add_index :products, :part_number
@@ -183,7 +183,7 @@ $ bin/rails generate migration RemovePartNumberFromProducts part_number:string
generates
```ruby
-class RemovePartNumberFromProducts < ActiveRecord::Migration[6.0]
+class RemovePartNumberFromProducts < ActiveRecord::Migration[7.0]
def change
remove_column :products, :part_number, :string
end
@@ -199,7 +199,7 @@ $ bin/rails generate migration AddDetailsToProducts part_number:string price:dec
generates
```ruby
-class AddDetailsToProducts < ActiveRecord::Migration[6.0]
+class AddDetailsToProducts < ActiveRecord::Migration[7.0]
def change
add_column :products, :part_number, :string
add_column :products, :price, :decimal
@@ -218,7 +218,7 @@ $ bin/rails generate migration CreateProducts name:string part_number:string
generates
```ruby
-class CreateProducts < ActiveRecord::Migration[6.0]
+class CreateProducts < ActiveRecord::Migration[7.0]
def change
create_table :products do |t|
t.string :name
@@ -244,7 +244,7 @@ $ bin/rails generate migration AddUserRefToProducts user:references
generates the following [`add_reference`][] call:
```ruby
-class AddUserRefToProducts < ActiveRecord::Migration[6.0]
+class AddUserRefToProducts < ActiveRecord::Migration[7.0]
def change
add_reference :products, :user, foreign_key: true
end
@@ -262,7 +262,7 @@ $ bin/rails generate migration CreateJoinTableCustomerProduct customer product
will produce the following migration:
```ruby
-class CreateJoinTableCustomerProduct < ActiveRecord::Migration[6.0]
+class CreateJoinTableCustomerProduct < ActiveRecord::Migration[7.0]
def change
create_join_table :customers, :products do |t|
# t.index [:customer_id, :product_id]
@@ -291,7 +291,7 @@ $ bin/rails generate model Product name:string description:text
will create a migration that looks like this
```ruby
-class CreateProducts < ActiveRecord::Migration[6.0]
+class CreateProducts < ActiveRecord::Migration[7.0]
def change
create_table :products do |t|
t.string :name
@@ -319,7 +319,7 @@ $ bin/rails generate migration AddDetailsToProducts 'price:decimal{5,2}' supplie
will produce a migration that looks like this
```ruby
-class AddDetailsToProducts < ActiveRecord::Migration[6.0]
+class AddDetailsToProducts < ActiveRecord::Migration[7.0]
def change
add_column :products, :price, :decimal, precision: 5, scale: 2
add_reference :products, :supplier, polymorphic: true
@@ -605,7 +605,7 @@ to reverse. You can use [`reversible`][] to specify what to do when running a
migration and what else to do when reverting it. For example:
```ruby
-class ExampleMigration < ActiveRecord::Migration[6.0]
+class ExampleMigration < ActiveRecord::Migration[7.0]
def change
create_table :distributors do |t|
t.string :zipcode
@@ -660,7 +660,7 @@ is wise to perform the transformations in precisely the reverse order they were
made in the `up` method. The example in the `reversible` section is equivalent to:
```ruby
-class ExampleMigration < ActiveRecord::Migration[6.0]
+class ExampleMigration < ActiveRecord::Migration[7.0]
def up
create_table :distributors do |t|
t.string :zipcode
@@ -703,7 +703,7 @@ You can use Active Record's ability to rollback migrations using the [`revert`][
```ruby
require_relative "20121212123456_example_migration"
-class FixupExampleMigration < ActiveRecord::Migration[6.0]
+class FixupExampleMigration < ActiveRecord::Migration[7.0]
def change
revert ExampleMigration
@@ -721,7 +721,7 @@ is later decided it would be best to use Active Record validations,
in place of the `CHECK` constraint, to verify the zipcode.
```ruby
-class DontUseConstraintForZipcodeValidationMigration < ActiveRecord::Migration[6.0]
+class DontUseConstraintForZipcodeValidationMigration < ActiveRecord::Migration[7.0]
def change
revert do
# copy-pasted code from ExampleMigration
@@ -883,7 +883,7 @@ Several methods are provided in migrations that allow you to control all this:
For example, this migration:
```ruby
-class CreateProducts < ActiveRecord::Migration[6.0]
+class CreateProducts < ActiveRecord::Migration[7.0]
def change
suppress_messages do
create_table :products do |t|
@@ -1052,7 +1052,7 @@ to add or modify data. This is useful in an existing database that can't be dest
and recreated, such as a production database.
```ruby
-class AddInitialProducts < ActiveRecord::Migration[6.0]
+class AddInitialProducts < ActiveRecord::Migration[7.0]
def up
5.times do |i|
Product.create(name: "Product ##{i}", description: "A product.")
diff --git a/guides/source/association_basics.md b/guides/source/association_basics.md
index ba8bd79fe3..53e0c83f47 100644
--- a/guides/source/association_basics.md
+++ b/guides/source/association_basics.md
@@ -106,7 +106,7 @@ NOTE: `belongs_to` associations _must_ use the singular term. If you used the pl
The corresponding migration might look like this:
```ruby
-class CreateBooks < ActiveRecord::Migration[6.0]
+class CreateBooks < ActiveRecord::Migration[7.0]
def change
create_table :authors do |t|
t.string :name
@@ -153,7 +153,7 @@ The main difference from `belongs_to` is that the link column `supplier_id` is l
The corresponding migration might look like this:
```ruby
-class CreateSuppliers < ActiveRecord::Migration[6.0]
+class CreateSuppliers < ActiveRecord::Migration[7.0]
def change
create_table :suppliers do |t|
t.string :name
@@ -199,7 +199,7 @@ NOTE: The name of the other model is pluralized when declaring a `has_many` asso
The corresponding migration might look like this:
```ruby
-class CreateAuthors < ActiveRecord::Migration[6.0]
+class CreateAuthors < ActiveRecord::Migration[7.0]
def change
create_table :authors do |t|
t.string :name
@@ -251,7 +251,7 @@ end
The corresponding migration might look like this:
```ruby
-class CreateAppointments < ActiveRecord::Migration[6.0]
+class CreateAppointments < ActiveRecord::Migration[7.0]
def change
create_table :physicians do |t|
t.string :name
@@ -337,7 +337,7 @@ end
The corresponding migration might look like this:
```ruby
-class CreateAccountHistories < ActiveRecord::Migration[6.0]
+class CreateAccountHistories < ActiveRecord::Migration[7.0]
def change
create_table :suppliers do |t|
t.string :name
@@ -380,7 +380,7 @@ end
The corresponding migration might look like this:
```ruby
-class CreateAssembliesAndParts < ActiveRecord::Migration[6.0]
+class CreateAssembliesAndParts < ActiveRecord::Migration[7.0]
def change
create_table :assemblies do |t|
t.string :name
@@ -419,7 +419,7 @@ end
The corresponding migration might look like this:
```ruby
-class CreateSuppliers < ActiveRecord::Migration[6.0]
+class CreateSuppliers < ActiveRecord::Migration[7.0]
def change
create_table :suppliers do |t|
t.string :name
@@ -501,7 +501,7 @@ Similarly, you can retrieve `@product.pictures`.
If you have an instance of the `Picture` model, you can get to its parent via `@picture.imageable`. To make this work, you need to declare both a foreign key column and a type column in the model that declares the polymorphic interface:
```ruby
-class CreatePictures < ActiveRecord::Migration[6.0]
+class CreatePictures < ActiveRecord::Migration[7.0]
def change
create_table :pictures do |t|
t.string :name
@@ -518,7 +518,7 @@ end
This migration can be simplified by using the `t.references` form:
```ruby
-class CreatePictures < ActiveRecord::Migration[6.0]
+class CreatePictures < ActiveRecord::Migration[7.0]
def change
create_table :pictures do |t|
t.string :name
@@ -549,7 +549,7 @@ With this setup, you can retrieve `@employee.subordinates` and `@employee.manage
In your migrations/schema, you will add a references column to the model itself.
```ruby
-class CreateEmployees < ActiveRecord::Migration[6.0]
+class CreateEmployees < ActiveRecord::Migration[7.0]
def change
create_table :employees do |t|
t.references :manager, foreign_key: { to_table: :employees }
@@ -619,7 +619,7 @@ end
This declaration needs to be backed up by a corresponding foreign key column in the books table. For a brand new table, the migration might look something like this:
```ruby
-class CreateBooks < ActiveRecord::Migration[6.0]
+class CreateBooks < ActiveRecord::Migration[7.0]
def change
create_table :books do |t|
t.datetime :published_at
@@ -633,7 +633,7 @@ end
Whereas for an existing table, it might look like this:
```ruby
-class AddAuthorToBooks < ActiveRecord::Migration[6.0]
+class AddAuthorToBooks < ActiveRecord::Migration[7.0]
def change
add_reference :books, :author
end
@@ -663,7 +663,7 @@ end
These need to be backed up by a migration to create the `assemblies_parts` table. This table should be created without a primary key:
```ruby
-class CreateAssembliesPartsJoinTable < ActiveRecord::Migration[6.0]
+class CreateAssembliesPartsJoinTable < ActiveRecord::Migration[7.0]
def change
create_table :assemblies_parts, id: false do |t|
t.bigint :assembly_id
@@ -681,7 +681,7 @@ We pass `id: false` to `create_table` because that table does not represent a mo
You can also use the method `create_join_table`
```ruby
-class CreateAssembliesPartsJoinTable < ActiveRecord::Migration[6.0]
+class CreateAssembliesPartsJoinTable < ActiveRecord::Migration[7.0]
def change
create_join_table :assemblies, :parts do |t|
t.index :assembly_id