diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-09-01 16:20:16 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-01 16:20:16 +0200 |
commit | 7dc5035031a697e7a2726fcd787fc9c294751027 (patch) | |
tree | ad2e2fe24ba604c07e4c329315efdf1479759cc8 /db/migrate | |
parent | 2305f7c391325c7abf8746ebb2bb560c13df4437 (diff) |
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
Diffstat (limited to 'db/migrate')
-rw-r--r-- | db/migrate/20170901141119_truncate_preview_cards.rb | 30 | ||||
-rw-r--r-- | db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb | 7 |
2 files changed, 37 insertions, 0 deletions
diff --git a/db/migrate/20170901141119_truncate_preview_cards.rb b/db/migrate/20170901141119_truncate_preview_cards.rb new file mode 100644 index 000000000..4d9802f3b --- /dev/null +++ b/db/migrate/20170901141119_truncate_preview_cards.rb @@ -0,0 +1,30 @@ +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 diff --git a/db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb b/db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb new file mode 100644 index 000000000..be7f533b5 --- /dev/null +++ b/db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb @@ -0,0 +1,7 @@ +class CreateJoinTablePreviewCardsStatuses < ActiveRecord::Migration[5.1] + def change + create_join_table :preview_cards, :statuses do |t| + t.index [:status_id, :preview_card_id] + end + end +end |