mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2024-12-27 02:04:33 +08:00
51 lines
1.4 KiB
Ruby
51 lines
1.4 KiB
Ruby
class AddWopi < ActiveRecord::Migration[4.2]
|
|
def up
|
|
add_column :assets, :lock, :string, limit: 1024
|
|
add_column :assets, :lock_ttl, :integer
|
|
add_column :assets, :version, :integer, default: 1
|
|
|
|
create_table :wopi_discoveries do |t|
|
|
t.integer :expires, null: false
|
|
t.string :proof_key_mod, null: false
|
|
t.string :proof_key_exp, null: false
|
|
t.string :proof_key_old_mod, null: false
|
|
t.string :proof_key_old_exp, null: false
|
|
end
|
|
|
|
create_table :wopi_apps do |t|
|
|
t.string :name, null: false
|
|
t.string :icon, null: false
|
|
t.integer :wopi_discovery_id, null: false
|
|
end
|
|
|
|
create_table :wopi_actions do |t|
|
|
t.string :action, null: false
|
|
t.string :extension, null: false
|
|
t.string :urlsrc, null: false
|
|
t.integer :wopi_app_id, null: false
|
|
end
|
|
|
|
create_table :tokens do |t|
|
|
t.string :token, null: false
|
|
t.integer :ttl, null: false
|
|
t.integer :user_id, null: false
|
|
end
|
|
|
|
add_foreign_key :wopi_actions, :wopi_apps, column: :wopi_app_id
|
|
add_foreign_key :wopi_apps, :wopi_discoveries, column: :wopi_discovery_id
|
|
add_foreign_key :tokens, :users, column: :user_id
|
|
|
|
add_index :wopi_actions, [:extension, :action]
|
|
end
|
|
|
|
def down
|
|
remove_column :assets, :lock
|
|
remove_column :assets, :lock_ttl
|
|
remove_column :assets, :version
|
|
|
|
drop_table :wopi_actions
|
|
drop_table :wopi_apps
|
|
drop_table :wopi_discoveries
|
|
drop_table :tokens
|
|
end
|
|
end
|