如何在迁移文件中设置自定义seq名称?
我们使用带有jdbc适配器的firebird db。 在firebird中,列大小限制为32。 所以错误消息是:名称长于数据库列大小
我们遇到了与索引相同的问题,但您可以设置自定义名称:
add_index :table_name, :column, :name => "custom_name_index"
答案 0 :(得分:1)
似乎是火鸟司机 https://github.com/jruby/activerecord-jdbc-adapter/blob/master/lib/arjdbc/firebird/adapter.rb
需要像oracle一样修补 https://github.com/jruby/activerecord-jdbc-adapter/blob/master/lib/arjdbc/oracle/adapter.rb
IDENTIFIER_LENGTH = 31
def default_sequence_name(table_name, column = nil)
"#{table_name.to_s[0, IDENTIFIER_LENGTH - 4]}_seq"
end