catstodon/db/migrate/20170901141119_truncate_preview_cards.rb
Eugen Rochko 7dc5035031 Make PreviewCard records reuseable between statuses (#4642)
* Make PreviewCard records reuseable between statuses

**Warning!** Migration truncates preview_cards tablec

* Allow a wider thumbnail for link preview, display it in horizontal layout (#4648)

* Delete preview cards files before truncating

* Rename old table instead of truncating it

* Add mastodon:maintenance:remove_deprecated_preview_cards

* Ignore deprecated_preview_cards in schema definition

* Fix null behaviour
2017-09-01 16:20:16 +02:00

30 lines
1.1 KiB
Ruby

class TruncatePreviewCards < ActiveRecord::Migration[5.1]
def up
rename_table :preview_cards, :deprecated_preview_cards
create_table :preview_cards do |t|
t.string :url, default: '', null: false, index: { unique: true }
t.string :title, default: '', null: false
t.string :description, default: '', null: false
t.attachment :image
t.integer :type, default: 0, null: false
t.text :html, default: '', null: false
t.string :author_name, default: '', null: false
t.string :author_url, default: '', null: false
t.string :provider_name, default: '', null: false
t.string :provider_url, default: '', null: false
t.integer :width, default: 0, null: false
t.integer :height, default: 0, null: false
t.timestamps
end
end
def down
if ActiveRecord::Base.connection.table_exists? 'deprecated_preview_cards'
drop_table :preview_cards
rename_table :deprecated_preview_cards, :preview_cards
else
raise ActiveRecord::IrreversibleMigration, 'Previous preview cards table has already been removed'
end
end
end