Pregunta

Entonces, ¿cuál es la mejor manera de crear nuevas tablas en una base de datos Sqlite en Rails 2. He creado la base de datos utilizando el comando rake db: migrate. Así que debo escribir scripts de sql individuales para crear una base de datos o usar rake de alguna manera. No necesito andamios.

¿Fue útil?

Solución

Básicamente usa migraciones.

Puede encontrar ayuda útil sobre cómo usar las migraciones en http: //wiki.rubyonrails. org / rails / pages / understandingmigrations y http://wiki.rubyonrails.org/ rieles / páginas / uso de migraciones . Una buena hoja de trucos que uso también está disponible en http://dizzy.co.uk/ ruby_on_rails / cheatsheets / rails-migrations .

Básicamente, las migraciones usan código Ruby para crear las tablas de su base de datos por usted. Es mucho más fácil (en mi opinión, al menos) usar un bonito código ruby ??para hacer esto en lugar de SQL DDL; también hace varias cosas automáticamente para usted (como agregar campos id a todas sus tablas como rieles requiere). Luego puede usar tareas de rake para aplicar las migraciones a su base de datos. La otra gran ventaja que le brindan las migraciones es que son reversibles, por lo que su base de datos está versionada y puede saltar fácilmente de una versión a otra.

Otros consejos

Intente evitar escribir scripts de tablas CREATE / ALTER y use migraciones ActiveRecord en su lugar. Algunas razones vienen a la mente:

  • Portabilidad: es mucho más fácil de dejar Trato AR con sabor multiplataforma diferencias
  • Cambio de control: tu las migraciones pueden gestionar los cambios en ambas direcciones con la VERSION = Opción, algo que no es fácil ver con SQL
  • Es el camino de Rails: seguir las convenciones de Rails a menos que Tienes una razón de peso para no hazlo
  • Simplicidad: no tiene que preocuparse por las columnas de identificación y marca de tiempo cuando usa migraciones, lo que le ahorra tener que recordarlas si trabaja en SQL

Si no está utilizando andamios, debe usar script / generar migración para crear un archivo de migración para cada tabla. No hay necesidad de usar scripts SQL. Después de crear algunas migraciones, puede aplicarlas a su base de datos utilizando rake db: migrate.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top