Class: CreateMediaAssets

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/ruby_cms/templates/db/migrate/20260525140000_create_media_assets.rb

Instance Method Summary collapse

Instance Method Details

#changeObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/generators/ruby_cms/templates/db/migrate/20260525140000_create_media_assets.rb', line 6

def change
  create_table :media_assets, if_not_exists: true do |t|
    t.string  :name,        null: false
    t.string  :folder,      null: false, default: "general"
    t.string  :kind,        null: false
    t.string  :mime_type
    t.integer :size_kb, default: 0
    t.integer :width
    t.integer :height
    t.references :uploaded_by, foreign_key: { to_table: :users }, type: :bigint
    RubyCms::MigrationHelpers.json_column(t, :tags, default: [])
    t.string  :tone
    t.integer :used_count, default: 0
    t.timestamps
  end

  add_index :media_assets, :folder, if_not_exists: true
  add_index :media_assets, :kind, if_not_exists: true
  add_index :media_assets, :created_at, if_not_exists: true
  if connection.adapter_name.match?(/postgres/i)
    add_index :media_assets, :tags, using: :gin, if_not_exists: true
  end
end