ruby on rails - que - ¿Cuál es la diferencia entre rails structure.sql y schema.rb
ruby on rails que es (1)
Soy consciente de que el archivo schema.rb es un archivo ruby y se crea y modifica cuando se ejecuta una migración de rake, pero ¿qué pasa con la estructura.sql.
He visto en algunos proyectos schema.rb y en otros structure.sql y en algunos de los dos archivos, ¿dónde configuran qué archivo crear?
¿Cuál es exactamente la diferencia entre los dos.
Es structure.sql generado es específico de un DB particular.
La principal diferencia es que schema.rb
es una representación de Ruby de la base de datos, y generalmente es schema.rb
de la base de datos. structure.sql
cambio es una representación de SQL de la base de datos y depende de la base de datos específica que seleccionó.
Solo usa la estructura si tiene características específicas de la base de datos que necesita y que schema.rb
no puede representar. Por ejemplo, en el pasado, algunas personas reemplazaron schema.rb
con structure.sql
para usar los campos JSONB de PostgreSQL o restricciones de clave externa en el nivel de la base de datos.
Ambas funciones ahora son compatibles con las migraciones, por lo que ya no es necesario cambiar a structure.sql
(en estos casos).
En general, te sugiero que uses el schema.rb
.