0
0
Fork 0

Add timeline read markers API (#11762)

Fix #4093
This commit is contained in:
Eugen Rochko 2019-09-06 13:55:51 +02:00 committed by GitHub
parent cf643d0060
commit e445a8af64
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 219 additions and 2 deletions

View file

@ -0,0 +1,14 @@
class CreateMarkers < ActiveRecord::Migration[5.2]
def change
create_table :markers do |t|
t.references :user, foreign_key: { on_delete: :cascade, index: false }
t.string :timeline, default: '', null: false
t.bigint :last_read_id, default: 0, null: false
t.integer :lock_version, default: 0, null: false
t.timestamps
end
add_index :markers, [:user_id, :timeline], unique: true
end
end

View file

@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2019_09_01_040524) do
ActiveRecord::Schema.define(version: 2019_09_04_222339) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -366,6 +366,17 @@ ActiveRecord::Schema.define(version: 2019_09_01_040524) do
t.index ["account_id"], name: "index_lists_on_account_id"
end
create_table "markers", force: :cascade do |t|
t.bigint "user_id"
t.string "timeline", default: "", null: false
t.bigint "last_read_id", default: 0, null: false
t.integer "lock_version", default: 0, null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["user_id", "timeline"], name: "index_markers_on_user_id_and_timeline", unique: true
t.index ["user_id"], name: "index_markers_on_user_id"
end
create_table "media_attachments", force: :cascade do |t|
t.bigint "status_id"
t.string "file_file_name"
@ -791,6 +802,7 @@ ActiveRecord::Schema.define(version: 2019_09_01_040524) do
add_foreign_key "list_accounts", "follows", on_delete: :cascade
add_foreign_key "list_accounts", "lists", on_delete: :cascade
add_foreign_key "lists", "accounts", on_delete: :cascade
add_foreign_key "markers", "users", on_delete: :cascade
add_foreign_key "media_attachments", "accounts", name: "fk_96dd81e81b", on_delete: :nullify
add_foreign_key "media_attachments", "scheduled_statuses", on_delete: :nullify
add_foreign_key "media_attachments", "statuses", on_delete: :nullify