run rails migrations index has_and_belongs_to_many delete create column ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 migration jointable

ruby on rails - rails - Generar migración: crear tabla de unión



rollback migration rails (3)

Ejecute este comando para generar el archivo de migración vacío (no se rellena automáticamente, debe rellenarlo usted mismo):

rails generate migration assignments_security_users

Abra el archivo de migración generado y agregue este código:

class AssignmentsSecurityUsers < ActiveRecord::Migration def change create_table :assignments_security_users, :id => false do |t| t.integer :assignment_id t.integer :security_user_id end end end

Luego ejecute rake db:migrate desde su terminal. Creé un cuestionario sobre muchas-a-muchas relaciones con un ejemplo simple que podría ayudarte.

He revisado muchas publicaciones de SO y google para generar migración de join table porque has many and belongs to many asociaciones y nada funciona.

Todas las soluciones están generando un archivo de migración vacío.

Estoy usando rails 3.2.13 y tengo dos tablas: security_users y assignments . Estas son algunas de las cosas que intento:

rails generate migration assignments_security_users rails generate migration create_assignments_security_users rails generate migration create_assignments_security_users_join_table rails g migration create_join_table :products, :categories (following the official documentation) rails generate migration security_users_assignments security_user:belongs_to assignments:belongs_to

¿Alguien puede decir cómo crear una migración de tabla de unión entre dos tablas?


Normalmente me gusta tener el archivo "modelo" cuando creo la tabla de unión. Por lo tanto, lo hago.

rails g model AssignmentSecurityUser assignments_security:references user:references


Para autopoblar el comando create_join_table en la línea de comando, debería verse así:

rails g migration CreateJoinTableProductsSuppliers products suppliers

Para un modelo de Producto y un modelo de Proveedor. Rails creará una tabla titulada "products_suppliers". Tenga en cuenta la pluralización.

(Nota al margen que el comando de generation puede acortarse a solo g )