# 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.1].define(version: 2022_08_31_153001) do create_table "accounts", force: :cascade do |t| t.string "email" t.string "merchant_processor" t.string "pay_data" end create_table "pay_charges", force: :cascade do |t| t.integer "customer_id", null: false t.integer "subscription_id" t.string "processor_id", null: false t.integer "amount", null: false t.string "currency" t.integer "application_fee_amount" t.integer "amount_refunded" t.json "metadata" t.json "data" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.index ["customer_id", "processor_id"], name: "index_pay_charges_on_customer_id_and_processor_id", unique: true t.index ["subscription_id"], name: "index_pay_charges_on_subscription_id" end create_table "pay_customers", force: :cascade do |t| t.string "owner_type" t.bigint "owner_id" t.string "processor", null: false t.string "processor_id" t.boolean "default" t.json "data" t.datetime "deleted_at" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.index ["owner_type", "owner_id", "deleted_at", "default"], name: "pay_customer_owner_index" t.index ["processor", "processor_id"], name: "index_pay_customers_on_processor_and_processor_id", unique: true end create_table "pay_merchants", force: :cascade do |t| t.string "owner_type" t.bigint "owner_id" t.string "processor", null: false t.string "processor_id" t.boolean "default" t.json "data" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.index ["owner_type", "owner_id", "processor"], name: "index_pay_merchants_on_owner_type_and_owner_id_and_processor" end create_table "pay_payment_methods", force: :cascade do |t| t.integer "customer_id", null: false t.string "processor_id", null: false t.boolean "default" t.string "type" t.json "data" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.index ["customer_id", "processor_id"], name: "index_pay_payment_methods_on_customer_id_and_processor_id", unique: true end create_table "pay_subscriptions", force: :cascade do |t| t.integer "customer_id", null: false t.string "name", null: false t.string "processor_id", null: false t.string "processor_plan", null: false t.integer "quantity", default: 1, null: false t.string "status", null: false t.datetime "current_period_start" t.datetime "current_period_end" t.datetime "trial_ends_at" t.datetime "ends_at" t.decimal "application_fee_percent", precision: 8, scale: 2 t.json "metadata" t.json "data" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.boolean "metered" t.string "pause_behavior" t.datetime "pause_starts_at" t.datetime "pause_resumes_at" t.index ["customer_id", "processor_id"], name: "index_pay_subscriptions_on_customer_id_and_processor_id", unique: true t.index ["metered"], name: "index_pay_subscriptions_on_metered" t.index ["pause_starts_at"], name: "index_pay_subscriptions_on_pause_starts_at" end create_table "pay_webhooks", force: :cascade do |t| t.string "processor" t.string "event_type" t.json "event" t.datetime "created_at", null: false t.datetime "updated_at", null: false end create_table "teams", force: :cascade do |t| t.string "email" t.string "name" t.string "owner_type" t.bigint "owner_id" t.index ["owner_type", "owner_id"], name: "index_teams_on_owner_type_and_owner_id" end create_table "users", force: :cascade do |t| t.string "email" t.string "first_name" t.string "last_name" t.text "extra_billing_info" end add_foreign_key "pay_charges", "pay_customers", column: "customer_id" add_foreign_key "pay_charges", "pay_subscriptions", column: "subscription_id" add_foreign_key "pay_payment_methods", "pay_customers", column: "customer_id" add_foreign_key "pay_subscriptions", "pay_customers", column: "customer_id" end