about summary refs log tree commit diff
path: root/db/migrate
diff options
context:
space:
mode:
Diffstat (limited to 'db/migrate')
-rw-r--r--db/migrate/20170301222600_create_mutes.rb12
-rw-r--r--db/migrate/20170303212857_add_last_emailed_at_to_users.rb5
-rw-r--r--db/migrate/20170304202101_add_type_to_media_attachments.rb12
-rw-r--r--db/migrate/20170317193015_add_search_index_to_accounts.rb9
-rw-r--r--db/migrate/20170318214217_add_header_remote_url_to_accounts.rb5
-rw-r--r--db/migrate/20170322021028_add_lowercase_index_to_accounts.rb9
-rw-r--r--db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb15
-rw-r--r--db/migrate/20170322162804_add_search_index_to_tags.rb9
-rw-r--r--db/migrate/20170330021336_add_counter_caches.rb13
-rw-r--r--db/migrate/20170330163835_create_imports.rb11
-rw-r--r--db/migrate/20170330164118_add_attachment_data_to_imports.rb11
11 files changed, 111 insertions, 0 deletions
diff --git a/db/migrate/20170301222600_create_mutes.rb b/db/migrate/20170301222600_create_mutes.rb
new file mode 100644
index 000000000..8f1bb22f5
--- /dev/null
+++ b/db/migrate/20170301222600_create_mutes.rb
@@ -0,0 +1,12 @@
+class CreateMutes < ActiveRecord::Migration[5.0]
+  def change
+    create_table :mutes do |t|
+      t.integer :account_id, null: false
+      t.integer :target_account_id, null: false
+      t.timestamps null: false
+    end
+
+    add_index :mutes, [:account_id, :target_account_id], unique: true
+
+  end
+end
diff --git a/db/migrate/20170303212857_add_last_emailed_at_to_users.rb b/db/migrate/20170303212857_add_last_emailed_at_to_users.rb
new file mode 100644
index 000000000..9ae3da4fb
--- /dev/null
+++ b/db/migrate/20170303212857_add_last_emailed_at_to_users.rb
@@ -0,0 +1,5 @@
+class AddLastEmailedAtToUsers < ActiveRecord::Migration[5.0]
+  def change
+    add_column :users, :last_emailed_at, :datetime, null: true, default: nil
+  end
+end
diff --git a/db/migrate/20170304202101_add_type_to_media_attachments.rb b/db/migrate/20170304202101_add_type_to_media_attachments.rb
new file mode 100644
index 000000000..514079958
--- /dev/null
+++ b/db/migrate/20170304202101_add_type_to_media_attachments.rb
@@ -0,0 +1,12 @@
+class AddTypeToMediaAttachments < ActiveRecord::Migration[5.0]
+  def up
+    add_column :media_attachments, :type, :integer, default: 0, null: false
+
+    MediaAttachment.where(file_content_type: MediaAttachment::IMAGE_MIME_TYPES).update_all(type: MediaAttachment.types[:image])
+    MediaAttachment.where(file_content_type: MediaAttachment::VIDEO_MIME_TYPES).update_all(type: MediaAttachment.types[:video])
+  end
+
+  def down
+    remove_column :media_attachments, :type
+  end
+end
diff --git a/db/migrate/20170317193015_add_search_index_to_accounts.rb b/db/migrate/20170317193015_add_search_index_to_accounts.rb
new file mode 100644
index 000000000..14e174147
--- /dev/null
+++ b/db/migrate/20170317193015_add_search_index_to_accounts.rb
@@ -0,0 +1,9 @@
+class AddSearchIndexToAccounts < ActiveRecord::Migration[5.0]
+  def up
+    execute 'CREATE INDEX search_index ON accounts USING gin((setweight(to_tsvector(\'simple\', accounts.display_name), \'A\') || setweight(to_tsvector(\'simple\', accounts.username), \'B\') || setweight(to_tsvector(\'simple\', coalesce(accounts.domain, \'\')), \'C\')));'
+  end
+
+  def down
+    remove_index :accounts, name: :search_index
+  end
+end
diff --git a/db/migrate/20170318214217_add_header_remote_url_to_accounts.rb b/db/migrate/20170318214217_add_header_remote_url_to_accounts.rb
new file mode 100644
index 000000000..0ba38d3e0
--- /dev/null
+++ b/db/migrate/20170318214217_add_header_remote_url_to_accounts.rb
@@ -0,0 +1,5 @@
+class AddHeaderRemoteUrlToAccounts < ActiveRecord::Migration[5.0]
+  def change
+    add_column :accounts, :header_remote_url, :string, null: false, default: ''
+  end
+end
diff --git a/db/migrate/20170322021028_add_lowercase_index_to_accounts.rb b/db/migrate/20170322021028_add_lowercase_index_to_accounts.rb
new file mode 100644
index 000000000..43032747a
--- /dev/null
+++ b/db/migrate/20170322021028_add_lowercase_index_to_accounts.rb
@@ -0,0 +1,9 @@
+class AddLowercaseIndexToAccounts < ActiveRecord::Migration[5.0]
+  def up
+    execute 'CREATE INDEX index_accounts_on_username_and_domain_lower ON accounts (lower(username), lower(domain))'
+  end
+
+  def down
+    remove_index :accounts, name: 'index_accounts_on_username_and_domain_lower'
+  end
+end
diff --git a/db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb b/db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb
new file mode 100644
index 000000000..16b5db7dd
--- /dev/null
+++ b/db/migrate/20170322143850_change_primary_key_to_bigint_on_statuses.rb
@@ -0,0 +1,15 @@
+class ChangePrimaryKeyToBigintOnStatuses < ActiveRecord::Migration[5.0]
+  def change
+    change_column :statuses, :id, :bigint
+    change_column :statuses, :reblog_of_id, :bigint
+    change_column :statuses, :in_reply_to_id, :bigint
+
+    change_column :media_attachments, :status_id, :bigint
+    change_column :mentions, :status_id, :bigint
+    change_column :notifications, :activity_id, :bigint
+    change_column :preview_cards, :status_id, :bigint
+    change_column :reports, :status_ids, :bigint, array: true
+    change_column :statuses_tags, :status_id, :bigint
+    change_column :stream_entries, :activity_id, :bigint
+  end
+end
diff --git a/db/migrate/20170322162804_add_search_index_to_tags.rb b/db/migrate/20170322162804_add_search_index_to_tags.rb
new file mode 100644
index 000000000..415dff9a0
--- /dev/null
+++ b/db/migrate/20170322162804_add_search_index_to_tags.rb
@@ -0,0 +1,9 @@
+class AddSearchIndexToTags < ActiveRecord::Migration[5.0]
+  def up
+    execute 'CREATE INDEX hashtag_search_index ON tags USING gin(to_tsvector(\'simple\', tags.name));'
+  end
+
+  def down
+    remove_index :tags, name: :hashtag_search_index
+  end
+end
diff --git a/db/migrate/20170330021336_add_counter_caches.rb b/db/migrate/20170330021336_add_counter_caches.rb
new file mode 100644
index 000000000..cf064b9e1
--- /dev/null
+++ b/db/migrate/20170330021336_add_counter_caches.rb
@@ -0,0 +1,13 @@
+class AddCounterCaches < ActiveRecord::Migration[5.0]
+  def change
+    add_column :statuses, :favourites_count, :integer, null: false, default: 0
+    add_column :statuses, :reblogs_count, :integer, null: false, default: 0
+    add_column :accounts, :statuses_count, :integer, null: false, default: 0
+    add_column :accounts, :followers_count, :integer, null: false, default: 0
+    add_column :accounts, :following_count, :integer, null: false, default: 0
+  end
+end
+
+# To make the new fields contain correct data:
+# update statuses set favourites_count = (select count(*) from favourites where favourites.status_id = statuses.id), reblogs_count = (select count(*) from statuses as reblogs where reblogs.reblog_of_id = statuses.id);
+# update accounts set statuses_count = (select count(*) from statuses where account_id = accounts.id), followers_count = (select count(*) from follows where target_account_id = accounts.id), following_count = (select count(*) from follows where account_id = accounts.id);
diff --git a/db/migrate/20170330163835_create_imports.rb b/db/migrate/20170330163835_create_imports.rb
new file mode 100644
index 000000000..d6f74823d
--- /dev/null
+++ b/db/migrate/20170330163835_create_imports.rb
@@ -0,0 +1,11 @@
+class CreateImports < ActiveRecord::Migration[5.0]
+  def change
+    create_table :imports do |t|
+      t.integer :account_id, null: false
+      t.integer :type, null: false
+      t.boolean :approved
+
+      t.timestamps
+    end
+  end
+end
diff --git a/db/migrate/20170330164118_add_attachment_data_to_imports.rb b/db/migrate/20170330164118_add_attachment_data_to_imports.rb
new file mode 100644
index 000000000..4850b0663
--- /dev/null
+++ b/db/migrate/20170330164118_add_attachment_data_to_imports.rb
@@ -0,0 +1,11 @@
+class AddAttachmentDataToImports < ActiveRecord::Migration
+  def self.up
+    change_table :imports do |t|
+      t.attachment :data
+    end
+  end
+
+  def self.down
+    remove_attachment :imports, :data
+  end
+end