Puoi modificare l'impostazione predefinita in una migrazione:
change_column :my_objects, :id, :integer, default: -> { "nextval('global_seq')" }
Potresti voler usare :bigint invece di :integer a seconda di come sono impostate la sequenza e le tabelle. Devi usare un lambda per :default opzione per ottenere il grezzo nextval('global_seq') espressione nel database.
Potresti voler eliminare anche la vecchia sequenza, AFAIK dovresti usare connection.execute('drop sequence ...') per quello.
Se stai saltando il :id predefinito entra nel tuo create_table quindi puoi fare tutto quando crei manualmente il :id colonna:
create_table :my_objects, id: false do |t|
t.bigint :id, null: false, default: -> { "nextval('global_seq')" }
t.primary_key :id
...
end
Ancora una volta, la scelta tra t.bigint e t.integer dipende da quanto vuoi che sia grande il tuo PK.