Don't forget to lycansubscribe
1# This file is auto-generated from the current state of the database. Instead
2# of editing this file, please use the migrations feature of Active Record to
3# incrementally modify your database, and then regenerate this schema definition.
4#
5# This file is the source Rails uses to define your schema when running `bin/rails
6# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
7# be faster and is potentially less error prone than running all of your
8# migrations from scratch. Old migrations may fail to apply correctly if those
9# migrations use external dependencies or application code.
10#
11# It's strongly recommended that you check this file into your version control system.
12
13ActiveRecord::Schema[7.2].define(version: 2025_09_20_182018) do
14 # These are extensions that must be enabled in order to support this database
15 enable_extension "plpgsql"
16
17 create_table "import_jobs", force: :cascade do |t|
18 t.integer "user_id", null: false
19 t.index ["user_id"], name: "index_import_jobs_on_user_id", unique: true
20 end
21
22 create_table "imports", force: :cascade do |t|
23 t.integer "user_id", null: false
24 t.string "cursor"
25 t.datetime "started_from"
26 t.datetime "last_completed"
27 t.string "collection", limit: 20, null: false
28 t.index ["user_id", "collection"], name: "index_imports_on_user_id_and_collection", unique: true
29 end
30
31 create_table "likes", force: :cascade do |t|
32 t.integer "actor_id", null: false
33 t.string "rkey", limit: 13, null: false
34 t.datetime "time", null: false
35 t.bigint "post_id"
36 t.string "post_uri"
37 t.index ["actor_id", "rkey"], name: "index_likes_on_actor_id_and_rkey", unique: true
38 t.index ["actor_id", "time", "id"], name: "index_likes_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc }
39 end
40
41 create_table "pins", force: :cascade do |t|
42 t.integer "actor_id", null: false
43 t.string "rkey", limit: 13, null: false
44 t.datetime "time", null: false
45 t.text "pin_text", null: false
46 t.bigint "post_id"
47 t.string "post_uri"
48 t.index ["actor_id", "rkey"], name: "index_pins_on_actor_id_and_rkey", unique: true
49 t.index ["actor_id", "time", "id"], name: "index_pins_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc }
50 end
51
52 create_table "posts", force: :cascade do |t|
53 t.integer "user_id", null: false
54 t.string "rkey", limit: 13, null: false
55 t.datetime "time", null: false
56 t.text "text", null: false
57 t.text "data", null: false
58 t.index ["user_id", "rkey"], name: "index_posts_on_user_id_and_rkey", unique: true
59 t.index ["user_id", "time", "id"], name: "index_posts_on_user_id_and_time_and_id", order: { time: :desc, id: :desc }
60 end
61
62 create_table "quotes", force: :cascade do |t|
63 t.integer "actor_id", null: false
64 t.string "rkey", limit: 13, null: false
65 t.datetime "time", null: false
66 t.text "quote_text", null: false
67 t.bigint "post_id"
68 t.string "post_uri"
69 t.index ["actor_id", "rkey"], name: "index_quotes_on_actor_id_and_rkey", unique: true
70 t.index ["actor_id", "time", "id"], name: "index_quotes_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc }
71 end
72
73 create_table "reposts", force: :cascade do |t|
74 t.integer "actor_id", null: false
75 t.string "rkey", limit: 13, null: false
76 t.datetime "time", null: false
77 t.bigint "post_id"
78 t.string "post_uri"
79 t.index ["actor_id", "rkey"], name: "index_reposts_on_actor_id_and_rkey", unique: true
80 t.index ["actor_id", "time", "id"], name: "index_reposts_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc }
81 end
82
83 create_table "subscriptions", force: :cascade do |t|
84 t.string "service", null: false
85 t.bigint "cursor", null: false
86 end
87
88 create_table "users", id: :serial, force: :cascade do |t|
89 t.string "did", limit: 260, null: false
90 t.index ["did"], name: "index_users_on_did", unique: true
91 end
92end