NOTICES for sequence after running migration in rails on postgresql Application

database-migration, postgresql, ruby, ruby-on-rails

Solution

Rails (ActiveRecord to be more precise) is adding an `id` column to your table and making this column the primary key. For PostgreSQL, this column will have type `serial`. A `serial` column is essentially a four byte integer combined with a sequence to automatically provide auto-incrementing values.

The first notice:

NOTICE: CREATE TABLE will create implicit sequence "notification_settings_id_seq" for serial column "notification_settings.id"

is just telling you that PostgreSQL is creating a sequence behind the scenes to make the `serial` column function.

The second notice:

NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "notification_settings_pkey" for table "notification_settings"

is just telling you that PostgreSQL is creating an index to help implement the primary key even though you didn't explicitly ask it to.

You can just ignore these notices, they're just informational. If you want to suppress them, you can add `min_messages: WARNING` to the appropriate section of your `database.yml`.

Problem

When i run my migration in Rails application on postgresql i got following NOTICES ``` 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" ``` My migration file contains 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 ``` I would like to know what this NOTICES means? How to avoid this NOTICES? What will be the impact of such NOTICES on the Application if not avoided? Regards, Salil

Original source