ruby-on-rails – 索引名称太长 – Rails 3

ruby-on-rails – 索引名称太长 – Rails 3,第1张

概述我正在尝试运行此迁移: class RemoveClientFromSalesteam < ActiveRecord::Migration change_table :sales_teams do |t| t.remove :client_id endend 这是我得到的错误: rake db:migrate-- change_table(:sales_team 我正在尝试运行此迁移:

class RemoveClIEntFromSalesteam < ActiveRecord::Migration    change_table :sales_teams do |t|        t.remove :clIEnt_ID    endend

这是我得到的错误:

rake db:migrate-- change_table(:sales_teams)rake aborted!An error has occurred,this and all later migrations canceled:Index name 'temp_index_altered_sales_teams_on_clIEnt_priority_and_personal_priority' on table 'altered_sales_teams' is too long; the limit is 64 charactersTasks: top => db:migrate(See full trace by running task with --trace)

这就是我的schema.rb的样子:

create_table "sales_teams",:force => true do |t|    t.string   "name"    t.integer  "firm_ID"    t.boolean  "clIEnt_priority"    t.boolean  "personal_priority"    t.datetime "created_at",:null => false    t.datetime "updated_at",:null => false    t.integer  "clIEnt_ID"  end  add_index "sales_teams",["clIEnt_ID"],:name => "index_sales_teams_on_clIEnt_ID"  add_index "sales_teams",["clIEnt_priority","personal_priority"],:name => "index_sales_teams_on_clIEnt_priority_and_personal_priority"  add_index "sales_teams",["name","firm_ID"],:name => "index_sales_teams_on_name_and_firm_ID"

思考?

谢谢.

解决方法 删除索引,删除列,然后重新添加索引:

def up  remove_index :sales_teams,:column => [ :clIEnt_priority,:personal_priority ]  remove_column :sales_teams,:clIEnt_ID  add_index :sales_teams,[ :clIEnt_priority,:personal_priority ]end

我猜你正在使用sqlite,大多数数据库支持真正的ALTER table *** 作来删除列,但sqlite强制你复制表(和索引),删除表,然后将所有内容复制回来; Rails sqlite驱动程序在幕后处理这个问题,但显然不知道标识符长度限制.

如有必要,还可以使用:name选项指定add_indexremove_index来指定自己的索引名称.

总结

以上是内存溢出为你收集整理的ruby-on-rails – 索引名称太长 – Rails 3全部内容,希望文章能够帮你解决ruby-on-rails – 索引名称太长 – Rails 3所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1280954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存