about summary refs log tree commit diff
path: root/db
diff options
context:
space:
mode:
authorbeatrix <beatrix.bitrot@gmail.com>2017-09-09 20:11:48 -0400
committerGitHub <noreply@github.com>2017-09-09 20:11:48 -0400
commit3dff74eecf5387b92b862893248710d2efb90eec (patch)
tree0d29d8c952a0c62e7de4348a1d63963fd5eca237 /db
parente18ed4bbc7ab4e258d05a3e2a5db0790f67a8f37 (diff)
parent14e1fb8d36763e5255e7b8e440ecaf02208db004 (diff)
Merge pull request #141 from yipdw/sync/upstream
Sync with upstream @ v1.6.0rc3

ohhhhhhhhhhh heck here we go
Diffstat (limited to 'db')
-rw-r--r--db/migrate/20170427011934_re_add_owner_to_application.rb8
-rw-r--r--db/migrate/20170823162448_create_status_pins.rb10
-rw-r--r--db/migrate/20170824103029_add_timestamps_to_status_pins.rb5
-rw-r--r--db/migrate/20170829215220_remove_status_pins_account_index.rb6
-rw-r--r--db/migrate/20170901141119_truncate_preview_cards.rb30
-rw-r--r--db/migrate/20170901142658_create_join_table_preview_cards_statuses.rb7
-rw-r--r--db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb5
-rw-r--r--db/migrate/20170905165803_add_local_to_statuses.rb5
-rw-r--r--db/schema.rb38
9 files changed, 105 insertions, 9 deletions
diff --git a/db/migrate/20170427011934_re_add_owner_to_application.rb b/db/migrate/20170427011934_re_add_owner_to_application.rb
new file mode 100644
index 000000000..a41d71d2a
--- /dev/null
+++ b/db/migrate/20170427011934_re_add_owner_to_application.rb
@@ -0,0 +1,8 @@
+class ReAddOwnerToApplication < ActiveRecord::Migration[5.0]
+  def change
+    add_column :oauth_applications, :owner_id, :integer, null: true
+    add_column :oauth_applications, :owner_type, :string, null: true
+    add_index :oauth_applications, [:owner_id, :owner_type]
+    add_foreign_key :oauth_applications, :users, column: :owner_id, on_delete: :cascade
+  end
+end
diff --git a/db/migrate/20170823162448_create_status_pins.rb b/db/migrate/20170823162448_create_status_pins.rb
new file mode 100644
index 000000000..9a6d4a7b9
--- /dev/null
+++ b/db/migrate/20170823162448_create_status_pins.rb
@@ -0,0 +1,10 @@
+class CreateStatusPins < ActiveRecord::Migration[5.1]
+  def change
+    create_table :status_pins do |t|
+      t.belongs_to :account, foreign_key: { on_delete: :cascade }, null: false
+      t.belongs_to :status, foreign_key: { on_delete: :cascade }, null: false
+    end
+
+    add_index :status_pins, [:account_id, :status_id], unique: true
+  end
+end
diff --git a/db/migrate/20170824103029_add_timestamps_to_status_pins.rb b/db/migrate/20170824103029_add_timestamps_to_status_pins.rb
new file mode 100644
index 000000000..09f0fbeaf
--- /dev/null
+++ b/db/migrate/20170824103029_add_timestamps_to_status_pins.rb
@@ -0,0 +1,5 @@
+class AddTimestampsToStatusPins < ActiveRecord::Migration[5.1]
+  def change
+    add_timestamps :status_pins, null: false, default: -> { 'CURRENT_TIMESTAMP' }
+  end
+end
diff --git a/db/migrate/20170829215220_remove_status_pins_account_index.rb b/db/migrate/20170829215220_remove_status_pins_account_index.rb
new file mode 100644
index 000000000..e0144242e
--- /dev/null
+++ b/db/migrate/20170829215220_remove_status_pins_account_index.rb
@@ -0,0 +1,6 @@
+class RemoveStatusPinsAccountIndex < ActiveRecord::Migration[5.1]
+  def change
+    remove_index :status_pins, :account_id
+    remove_index :status_pins, :status_id
+  end
+end
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
diff --git a/db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb b/db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb
new file mode 100644
index 000000000..c47cea9e2
--- /dev/null
+++ b/db/migrate/20170905044538_add_index_id_account_id_activity_type_on_notifications.rb
@@ -0,0 +1,5 @@
+class AddIndexIdAccountIdActivityTypeOnNotifications < ActiveRecord::Migration[5.1]
+  def change
+    add_index :notifications, [:id, :account_id, :activity_type], order: { id: :desc }
+  end
+end
diff --git a/db/migrate/20170905165803_add_local_to_statuses.rb b/db/migrate/20170905165803_add_local_to_statuses.rb
new file mode 100644
index 000000000..fb4e7019d
--- /dev/null
+++ b/db/migrate/20170905165803_add_local_to_statuses.rb
@@ -0,0 +1,5 @@
+class AddLocalToStatuses < ActiveRecord::Migration[5.1]
+  def change
+    add_column :statuses, :local, :boolean, null: true, default: nil
+  end
+end
diff --git a/db/schema.rb b/db/schema.rb
index 2501e451d..d8af0a1f8 100644
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -10,7 +10,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 20170720000000) do
+ActiveRecord::Schema.define(version: 20170905165803) do
 
   # These are extensions that must be enabled in order to support this database
   enable_extension "plpgsql"
@@ -180,6 +180,7 @@ ActiveRecord::Schema.define(version: 20170720000000) do
     t.integer "from_account_id"
     t.index ["account_id", "activity_id", "activity_type"], name: "account_activity", unique: true
     t.index ["activity_id", "activity_type"], name: "index_notifications_on_activity_id_and_activity_type"
+    t.index ["id", "account_id", "activity_type"], name: "index_notifications_on_id_and_account_id_and_activity_type", order: { id: :desc }
   end
 
   create_table "oauth_access_grants", id: :serial, force: :cascade do |t|
@@ -218,20 +219,20 @@ ActiveRecord::Schema.define(version: 20170720000000) do
     t.datetime "updated_at"
     t.boolean "superapp", default: false, null: false
     t.string "website"
+    t.integer "owner_id"
+    t.string "owner_type"
+    t.index ["owner_id", "owner_type"], name: "index_oauth_applications_on_owner_id_and_owner_type"
     t.index ["uid"], name: "index_oauth_applications_on_uid", unique: true
   end
 
-  create_table "preview_cards", id: :serial, force: :cascade do |t|
-    t.bigint "status_id"
+  create_table "preview_cards", force: :cascade do |t|
     t.string "url", default: "", null: false
-    t.string "title"
-    t.string "description"
+    t.string "title", default: "", null: false
+    t.string "description", default: "", null: false
     t.string "image_file_name"
     t.string "image_content_type"
     t.integer "image_file_size"
     t.datetime "image_updated_at"
-    t.datetime "created_at", null: false
-    t.datetime "updated_at", null: false
     t.integer "type", default: 0, null: false
     t.text "html", default: "", null: false
     t.string "author_name", default: "", null: false
@@ -240,7 +241,15 @@ ActiveRecord::Schema.define(version: 20170720000000) do
     t.string "provider_url", default: "", null: false
     t.integer "width", default: 0, null: false
     t.integer "height", default: 0, null: false
-    t.index ["status_id"], name: "index_preview_cards_on_status_id", unique: true
+    t.datetime "created_at", null: false
+    t.datetime "updated_at", null: false
+    t.index ["url"], name: "index_preview_cards_on_url", unique: true
+  end
+
+  create_table "preview_cards_statuses", id: false, force: :cascade do |t|
+    t.bigint "preview_card_id", null: false
+    t.bigint "status_id", null: false
+    t.index ["status_id", "preview_card_id"], name: "index_preview_cards_statuses_on_status_id_and_preview_card_id"
   end
 
   create_table "reports", id: :serial, force: :cascade do |t|
@@ -279,6 +288,14 @@ ActiveRecord::Schema.define(version: 20170720000000) do
     t.index ["thing_type", "thing_id", "var"], name: "index_settings_on_thing_type_and_thing_id_and_var", unique: true
   end
 
+  create_table "status_pins", force: :cascade do |t|
+    t.bigint "account_id", null: false
+    t.bigint "status_id", null: false
+    t.datetime "created_at", default: -> { "now()" }, null: false
+    t.datetime "updated_at", default: -> { "now()" }, null: false
+    t.index ["account_id", "status_id"], name: "index_status_pins_on_account_id_and_status_id", unique: true
+  end
+
   create_table "statuses", force: :cascade do |t|
     t.string "uri"
     t.integer "account_id", null: false
@@ -298,6 +315,7 @@ ActiveRecord::Schema.define(version: 20170720000000) do
     t.integer "reblogs_count", default: 0, null: false
     t.string "language"
     t.bigint "conversation_id"
+    t.boolean "local"
     t.index ["account_id", "id"], name: "index_statuses_on_account_id_id"
     t.index ["conversation_id"], name: "index_statuses_on_conversation_id"
     t.index ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id"
@@ -420,12 +438,14 @@ ActiveRecord::Schema.define(version: 20170720000000) do
   add_foreign_key "oauth_access_grants", "users", column: "resource_owner_id", on_delete: :cascade
   add_foreign_key "oauth_access_tokens", "oauth_applications", column: "application_id", on_delete: :cascade
   add_foreign_key "oauth_access_tokens", "users", column: "resource_owner_id", on_delete: :cascade
-  add_foreign_key "preview_cards", "statuses", on_delete: :cascade
+  add_foreign_key "oauth_applications", "users", column: "owner_id", on_delete: :cascade
   add_foreign_key "reports", "accounts", column: "action_taken_by_account_id", on_delete: :nullify
   add_foreign_key "reports", "accounts", column: "target_account_id", on_delete: :cascade
   add_foreign_key "reports", "accounts", on_delete: :cascade
   add_foreign_key "session_activations", "oauth_access_tokens", column: "access_token_id", on_delete: :cascade
   add_foreign_key "session_activations", "users", on_delete: :cascade
+  add_foreign_key "status_pins", "accounts", on_delete: :cascade
+  add_foreign_key "status_pins", "statuses", on_delete: :cascade
   add_foreign_key "statuses", "accounts", column: "in_reply_to_account_id", on_delete: :nullify
   add_foreign_key "statuses", "accounts", on_delete: :cascade
   add_foreign_key "statuses", "statuses", column: "in_reply_to_id", on_delete: :nullify