# This file is auto-generated from the current state of the database. Instead # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. # # This file is the source Rails uses to define your schema when running `bin/rails # db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to # be faster and is potentially less error prone than running all of your # migrations from scratch. Old migrations may fail to apply correctly if those # migrations use external dependencies or application code. # # It's strongly recommended that you check this file into your version control system. ActiveRecord::Schema[7.2].define(version: 2025_10_27_134657) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" create_table "import_jobs", force: :cascade do |t| t.integer "user_id", null: false t.index ["user_id"], name: "index_import_jobs_on_user_id", unique: true end create_table "imports", force: :cascade do |t| t.integer "user_id", null: false t.string "cursor" t.datetime "started_from" t.datetime "last_completed" t.string "collection", limit: 20, null: false t.datetime "fetched_until" t.index ["user_id", "collection"], name: "index_imports_on_user_id_and_collection", unique: true end create_table "likes", force: :cascade do |t| t.integer "actor_id", null: false t.string "rkey", limit: 13, null: false t.datetime "time", null: false t.bigint "post_id" t.string "post_uri" t.integer "queue", limit: 2 t.index ["actor_id", "rkey"], name: "index_likes_on_actor_id_and_rkey", unique: true t.index ["actor_id", "time", "id"], name: "index_likes_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc } end create_table "pins", force: :cascade do |t| t.integer "actor_id", null: false t.string "rkey", limit: 13, null: false t.datetime "time", null: false t.text "pin_text", null: false t.bigint "post_id" t.string "post_uri" t.integer "queue", limit: 2 t.index ["actor_id", "rkey"], name: "index_pins_on_actor_id_and_rkey", unique: true t.index ["actor_id", "time", "id"], name: "index_pins_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc } end create_table "posts", force: :cascade do |t| t.integer "user_id", null: false t.string "rkey", limit: 13, null: false t.datetime "time", null: false t.text "text", null: false t.text "data", null: false t.index ["user_id", "rkey"], name: "index_posts_on_user_id_and_rkey", unique: true t.index ["user_id", "time", "id"], name: "index_posts_on_user_id_and_time_and_id", order: { time: :desc, id: :desc } end create_table "quotes", force: :cascade do |t| t.integer "actor_id", null: false t.string "rkey", limit: 13, null: false t.datetime "time", null: false t.text "quote_text", null: false t.bigint "post_id" t.string "post_uri" t.integer "queue", limit: 2 t.index ["actor_id", "rkey"], name: "index_quotes_on_actor_id_and_rkey", unique: true t.index ["actor_id", "time", "id"], name: "index_quotes_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc } end create_table "reposts", force: :cascade do |t| t.integer "actor_id", null: false t.string "rkey", limit: 13, null: false t.datetime "time", null: false t.bigint "post_id" t.string "post_uri" t.integer "queue", limit: 2 t.index ["actor_id", "rkey"], name: "index_reposts_on_actor_id_and_rkey", unique: true t.index ["actor_id", "time", "id"], name: "index_reposts_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc } end create_table "subscriptions", force: :cascade do |t| t.string "service", null: false t.bigint "cursor", null: false end create_table "users", id: :serial, force: :cascade do |t| t.string "did", limit: 260, null: false t.datetime "registered_at" t.index ["did"], name: "index_users_on_did", unique: true end end