hec*_*rsq 36 migration ruby-on-rails
我知道有一个rename_column转变,但似乎rename_index不存在.
我必须使用remove_index而add_index不是吗?
Not*_*hus 60
rename_index 应该给出字符串而不是符号.
rename_index :table_name, 'old_name', 'new_name'
Run Code Online (Sandbox Code Playgroud)
当我试图重命名一个表并且它是索引时,让我挠了一下头.Rails 3.2.3和MySQL.
Gui*_*ume 41
Rails 3提供了重命名索引的快捷方式:
rename_index :table_name, :old_name, :new_name
Run Code Online (Sandbox Code Playgroud)
http://guides.rubyonrails.org/migrations.html
顺便说一句,它除了删除旧的并添加新的之外没有什么作用:
http://apidock.com/rails/v2.3.8/ActiveRecord/ConnectionAdapters/SchemaStatements/rename_index
您也可以在迁移中执行任意 SQL。
我们有一些辅助方法可以将外键添加到我们的表中:
def add_foreign_key(from_table, from_column, to_table)
constraint_name = "fk_#{from_table}_#{from_column}"
execute %{alter table #{from_table}
add constraint #{constraint_name}
foreign key (#{from_column})
references #{to_table}(id)
}
end
Run Code Online (Sandbox Code Playgroud)
您可以使用数据库支持的任何 SQL。