summaryrefslogtreecommitdiff
path: root/db/migrate/20180319190020_create_deploy_tokens.rb
blob: f444521b3ae2191631221b85a71d2907b76203fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class CreateDeployTokens < ActiveRecord::Migration[4.2]
  DOWNTIME = false

  def change
    # rubocop:disable Migration/AddLimitToStringColumns
    create_table :deploy_tokens do |t|
      t.boolean :revoked, default: false
      t.boolean :read_repository, null: false, default: false
      t.boolean :read_registry, null: false, default: false

      t.datetime_with_timezone :expires_at, null: false
      t.datetime_with_timezone :created_at, null: false

      t.string :name, null: false
      t.string :token, index: { unique: true }, null: false

      t.index [:token, :expires_at, :id], where: "(revoked IS FALSE)"
    end
    # rubocop:enable Migration/AddLimitToStringColumns
  end
end