12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- # Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
- class CreateDoorkeeperTables < ActiveRecord::Migration[4.2]
- def change
- create_table :oauth_applications do |t|
- t.string :name, null: false
- t.string :uid, null: false
- t.string :secret, null: false
- t.text :redirect_uri, null: false
- t.string :scopes, null: false, default: ''
- t.timestamps null: false # rubocop:disable Zammad/ExistsDateTimePrecision
- end
- add_index :oauth_applications, :uid, unique: true
- create_table :oauth_access_grants do |t|
- t.integer :resource_owner_id, null: false
- t.references :application, null: false
- t.string :token, null: false
- t.integer :expires_in, null: false
- t.text :redirect_uri, null: false
- t.datetime :created_at, null: false # rubocop:disable Zammad/ExistsDateTimePrecision
- t.datetime :revoked_at # rubocop:disable Zammad/ExistsDateTimePrecision
- t.string :scopes
- end
- add_index :oauth_access_grants, :token, unique: true
- add_foreign_key(
- :oauth_access_grants,
- :oauth_applications,
- column: :application_id
- )
- create_table :oauth_access_tokens do |t|
- t.integer :resource_owner_id
- t.references :application
- # If you use a custom token generator you may need to change this column
- # from string to text, so that it accepts tokens larger than 255
- # characters. More info on custom token generators in:
- # https://github.com/doorkeeper-gem/doorkeeper/tree/v3.0.0.rc1#custom-access-token-generator
- #
- # t.text :token, null: false
- t.string :token, null: false
- t.string :refresh_token
- t.integer :expires_in
- t.datetime :revoked_at # rubocop:disable Zammad/ExistsDateTimePrecision
- t.datetime :created_at, null: false # rubocop:disable Zammad/ExistsDateTimePrecision
- t.string :scopes
- # If there is a previous_refresh_token column,
- # refresh tokens will be revoked after a related access token is used.
- # If there is no previous_refresh_token column,
- # previous tokens are revoked as soon as a new access token is created.
- # Comment out this line if you'd rather have refresh tokens
- # instantly revoked.
- t.string :previous_refresh_token, null: false, default: ''
- end
- add_index :oauth_access_tokens, :token, unique: true
- add_index :oauth_access_tokens, :resource_owner_id
- add_index :oauth_access_tokens, :refresh_token, unique: true
- add_foreign_key(
- :oauth_access_tokens,
- :oauth_applications,
- column: :application_id
- )
- end
- end
|