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_18_024627) do
14 # These are extensions that must be enabled in order to support this database
15 enable_extension "plpgsql"
16
17 create_table "imports", force: :cascade do |t|
18 t.integer "user_id", null: false
19 t.string "cursor"
20 t.datetime "started_from"
21 t.datetime "last_completed"
22 t.string "collection", limit: 20, null: false
23 t.index ["user_id", "collection"], name: "index_imports_on_user_id_and_collection", unique: true
24 end
25
26 create_table "likes", force: :cascade do |t|
27 t.integer "actor_id", null: false
28 t.string "rkey", limit: 13, null: false
29 t.datetime "time", null: false
30 t.bigint "post_id"
31 t.string "post_uri"
32 t.index ["actor_id", "rkey"], name: "index_likes_on_actor_id_and_rkey", unique: true
33 t.index ["actor_id", "time", "id"], name: "index_likes_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc }
34 end
35
36 create_table "pins", force: :cascade do |t|
37 t.integer "actor_id", null: false
38 t.string "rkey", limit: 13, null: false
39 t.datetime "time", null: false
40 t.text "pin_text", null: false
41 t.bigint "post_id"
42 t.string "post_uri"
43 t.index ["actor_id", "rkey"], name: "index_pins_on_actor_id_and_rkey", unique: true
44 t.index ["actor_id", "time", "id"], name: "index_pins_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc }
45 end
46
47 create_table "posts", force: :cascade do |t|
48 t.integer "user_id", null: false
49 t.string "rkey", limit: 13, null: false
50 t.datetime "time", null: false
51 t.text "text", null: false
52 t.text "data", null: false
53 t.index ["user_id", "rkey"], name: "index_posts_on_user_id_and_rkey", unique: true
54 t.index ["user_id", "time", "id"], name: "index_posts_on_user_id_and_time_and_id", order: { time: :desc, id: :desc }
55 end
56
57 create_table "quotes", force: :cascade do |t|
58 t.integer "actor_id", null: false
59 t.string "rkey", limit: 13, null: false
60 t.datetime "time", null: false
61 t.text "quote_text", null: false
62 t.bigint "post_id"
63 t.string "post_uri"
64 t.index ["actor_id", "rkey"], name: "index_quotes_on_actor_id_and_rkey", unique: true
65 t.index ["actor_id", "time", "id"], name: "index_quotes_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc }
66 end
67
68 create_table "reposts", force: :cascade do |t|
69 t.integer "actor_id", null: false
70 t.string "rkey", limit: 13, null: false
71 t.datetime "time", null: false
72 t.bigint "post_id"
73 t.string "post_uri"
74 t.index ["actor_id", "rkey"], name: "index_reposts_on_actor_id_and_rkey", unique: true
75 t.index ["actor_id", "time", "id"], name: "index_reposts_on_actor_id_and_time_and_id", order: { time: :desc, id: :desc }
76 end
77
78 create_table "subscriptions", force: :cascade do |t|
79 t.string "service", null: false
80 t.bigint "cursor", null: false
81 end
82
83 create_table "users", id: :serial, force: :cascade do |t|
84 t.string "did", limit: 260, null: false
85 t.index ["did"], name: "index_users_on_did", unique: true
86 end
87end