如何更改rails迁移文件中的主键?

Win*_*int 9 ruby-on-rails database-migration rails-migrations

我需要像这样迁移一个旧的mysql表:

Products
  name (string, primary_key)
Run Code Online (Sandbox Code Playgroud)

到这个架构:

Products
  id (integer, primary_key, auto_generated)
  name (unique)
Run Code Online (Sandbox Code Playgroud)

我需要在新表中填充Products.id值.如何编写rails迁移文件?我正在使用Rails 3.2.7

我现在有2个问题:1.我找不到在ActiveRecord :: Migration 2中删除主键的方法.我不知道如何为新添加的主键生成值.

jlf*_*aux 11

如果您使用的是Postgresql,则语法略有不同.

ALTER TABLE <table_name> DROP CONSTRAINT <table_name>_pkey;
Run Code Online (Sandbox Code Playgroud)