parent_class = ActiveRecord::Migration
parent_class = parent_class[5.0] if Rails::VERSION::MAJOR >= 5

class CreateActiveAdminComments < parent_class
  def self.up
    create_table :active_admin_comments do |t|
      t.string :namespace
      t.text   :body
      t.string :resource_id,   null: false
      t.string :resource_type, null: false
      t.references :author, polymorphic: true
      t.timestamps
    end
    add_index :active_admin_comments, [:namespace]

    unless Rails::VERSION::MAJOR >= 5
      add_index :active_admin_comments, [:author_type, :author_id]
    end

    add_index :active_admin_comments, [:resource_type, :resource_id]
  end

  def self.down
    drop_table :active_admin_comments
  end
end

parent_class = ActiveRecord::Migration
parent_class = parent_class[5.0] if Rails::VERSION::MAJOR >= 5

class CreateActiveAdminComments < parent_class
  def self.up
    create_table :active_admin_comments do |t|
      t.string :namespace
      t.text   :body
      t.string :resource_id,   null: false
      t.string :resource_type, null: false
      t.references :author, polymorphic: true
      if Rails::VERSION::MAJOR >= 5
        t.timestamps
      else
        t.timestamps null: false
      end
    end
    add_index :active_admin_comments, [:namespace]

    unless Rails::VERSION::MAJOR >= 5
      add_index :active_admin_comments, [:author_type, :author_id]
    end

    add_index :active_admin_comments, [:resource_type, :resource_id]
  end

  def self.down
    drop_table :active_admin_comments
  end
end

Fix warning in Rails 4: adopt Rails 5 behaviour
Fix warning in Rails 4: adopt Rails 5 behaviour

```
DEPRECATION WARNING: `#timestamps` was called without specifying an
option for `null`. In Rails 5, this behavior will change to
`null: false`. You should manually specify `null: true` to prevent the
behavior of your existing migrations from changing.
```
