remove rails migrations generate column ruby-on-rails ruby postgresql database-migration

ruby-on-rails - migrations - remove migration rails



AVISOS para la secuencia después de ejecutar la migración en rieles en la aplicación postgresql (3)

Cuando ejecuto mi migración en la aplicación Rails en postgresql recibí los siguientes AVISOS

NOTICE: CREATE TABLE will create implicit sequence "notification_settings_id_seq" for serial column "notification_settings.id" NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "notification_settings_pkey" for table "notification_settings"

Mi archivo de migración contiene 088_create_notification_settings.rb

class CreateNotificationSettings < ActiveRecord::Migration def self.up create_table :notification_settings do |t| t.integer :user_id t.integer :notification_id t.boolean :notification_on t.boolean :outbound end end def self.down drop_table :notification_settings end end

Me gustaría saber

¿Qué significa esto AVISOS?

¿Cómo evitar estas AVISOS?

¿Cuál será el impacto de tales AVISOS en la Aplicación si no se evitan?

Saludos,

Salil



Las NOTIFICACIONES están relacionadas con la creación de la secuencia y la forma en que Postgresql crea la autoincrementación en la columna de id.

Para responder a las otras preguntas:

Cómo evitar las AVISOS

En el archivo database.yml simplemente incluya min_messages: warning #magic sauce

¿Cuál será el impacto en la aplicación si se ignoran las NOTIFICACIONES?

Básicamente va a aumentar el registro, especialmente si se ejecuta en modo Desarrollo.

Ver http://www.ruby-forum.com/topic/468070 para más detalles


Rails (ActiveRecord para ser más preciso) está agregando una columna de id a su tabla y haciendo de esta columna la clave principal. Para PostgreSQL, esta columna tendrá tipo serial . Una columna de serial es esencialmente un entero de cuatro bytes combinado con una secuencia para proporcionar automáticamente valores de incremento automático.

El primer aviso:

AVISO: CREATE TABLE creará la secuencia implícita "notification_settings_id_seq" para la columna serial "notification_settings.id"

simplemente le está diciendo que PostgreSQL está creando una secuencia detrás de escena para hacer que la columna en serial funcione.

El segundo aviso:

AVISO: CREATE TABLE / PRIMARY KEY creará el índice implícito "notification_settings_pkey" para la tabla "notification_settings"

simplemente le está diciendo que PostgreSQL está creando un índice para ayudar a implementar la clave principal aunque usted no se lo haya pedido explícitamente.

Simplemente puede ignorar estos avisos, solo son informativos. Si desea suprimirlos, puede agregar min_messages: WARNING a la sección correspondiente de su database.yml .