class CreateNodes < ActiveRecord::Migration[7.1]
  def change
    create_table :nodes do |t|
      t.integer :position
      t.integer "status", default: 0
      t.integer "template", default: 0

      t.integer "ancestry_depth", default: 0
      t.string "ancestry", collation: 'C', null: false

      t.jsonb "slug", default: {}
      t.jsonb "url", default: {}
      t.jsonb "title", default: {}
      t.jsonb "page_title", default: {}
      t.jsonb "page_description", default: {}
      t.jsonb "href", default: {}
      t.jsonb "tags", default: {}

      t.text "settings", default: [], array: true
      t.text "excluded_locales", default: [], array: true

      t.boolean "is_allowlist", default: false

      t.datetime "published_at"
      t.datetime "expires_at"

      t.timestamps

      t.index "ancestry"
      t.index "ancestry_depth"
      t.index "position"

      t.index "slug", using: :gin
      t.index "url", using: :gin

      t.index "tags", using: :gin
      t.index "settings", using: :gin

      t.index "status"
      t.index "template"

      t.index "excluded_locales", using: :gin
      t.index "is_allowlist"
    end
  end
end
