mirror of https://github.com/docusealco/docuseal
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							1.8 KiB
						
					
					
				# frozen_string_literal: true
 | 
						|
 | 
						|
class CreateDoorkeeperTables < ActiveRecord::Migration[7.1]
 | 
						|
  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
 | 
						|
      t.string  :scopes,       null: false, default: ''
 | 
						|
      t.boolean :confidential, null: false, default: true
 | 
						|
      t.timestamps             null: false
 | 
						|
    end
 | 
						|
 | 
						|
    add_index :oauth_applications, :uid, unique: true
 | 
						|
 | 
						|
    create_table :oauth_access_grants do |t|
 | 
						|
      t.references :resource_owner,  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.string   :scopes,            null: false, default: ''
 | 
						|
      t.datetime :created_at,        null: false
 | 
						|
      t.datetime :revoked_at
 | 
						|
    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.references :resource_owner, index: true
 | 
						|
      t.references :application,    null: false
 | 
						|
      t.string :token, null: false
 | 
						|
      t.string   :refresh_token
 | 
						|
      t.integer  :expires_in
 | 
						|
      t.string   :scopes
 | 
						|
      t.datetime :created_at, null: false
 | 
						|
      t.datetime :revoked_at
 | 
						|
      t.string   :previous_refresh_token, null: false, default: ''
 | 
						|
    end
 | 
						|
 | 
						|
    add_index :oauth_access_tokens, :token, unique: true
 | 
						|
    add_index :oauth_access_tokens, :refresh_token, unique: true
 | 
						|
 | 
						|
    add_foreign_key :oauth_access_tokens, :oauth_applications, column: :application_id
 | 
						|
    add_foreign_key :oauth_access_grants, :users, column: :resource_owner_id
 | 
						|
    add_foreign_key :oauth_access_tokens, :users, column: :resource_owner_id
 | 
						|
  end
 | 
						|
end
 |