mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #42657 from abhaynikam/ensure-foreign-key-type-respect-generator-config
Ensure Action Text migration use config set primary_key_type
This commit is contained in:
commit
30033e6a1d
1 changed files with 14 additions and 2 deletions
|
@ -1,13 +1,25 @@
|
||||||
class CreateActionTextTables < ActiveRecord::Migration[6.0]
|
class CreateActionTextTables < ActiveRecord::Migration[6.0]
|
||||||
def change
|
def change
|
||||||
create_table :action_text_rich_texts do |t|
|
# Use Active Record's configured type for primary and foreign keys
|
||||||
|
primary_key_type, foreign_key_type = primary_and_foreign_key_types
|
||||||
|
|
||||||
|
create_table :action_text_rich_texts, id: primary_key_type do |t|
|
||||||
t.string :name, null: false
|
t.string :name, null: false
|
||||||
t.text :body, size: :long
|
t.text :body, size: :long
|
||||||
t.references :record, null: false, polymorphic: true, index: false
|
t.references :record, null: false, polymorphic: true, index: false, type: foreign_key_type
|
||||||
|
|
||||||
t.timestamps
|
t.timestamps
|
||||||
|
|
||||||
t.index [ :record_type, :record_id, :name ], name: "index_action_text_rich_texts_uniqueness", unique: true
|
t.index [ :record_type, :record_id, :name ], name: "index_action_text_rich_texts_uniqueness", unique: true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def primary_and_foreign_key_types
|
||||||
|
config = Rails.configuration.generators
|
||||||
|
setting = config.options[config.orm][:primary_key_type]
|
||||||
|
primary_key_type = setting || :primary_key
|
||||||
|
foreign_key_type = setting || :bigint
|
||||||
|
[primary_key_type, foreign_key_type]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue