model/migration for promoted statuses
This commit is contained in:
parent
3b1cfd4253
commit
044e9695fe
|
@ -0,0 +1,18 @@
|
||||||
|
# == Schema Information
|
||||||
|
#
|
||||||
|
# Table name: promotions
|
||||||
|
#
|
||||||
|
# id :bigint(8) not null, primary key
|
||||||
|
# created_at :datetime not null
|
||||||
|
# updated_at :datetime not null
|
||||||
|
# expires_at :datetime
|
||||||
|
# status_id :bigint(8) not null
|
||||||
|
# timeline_id :string
|
||||||
|
# position :integer default(10)
|
||||||
|
#
|
||||||
|
|
||||||
|
class Promotion < ApplicationRecord
|
||||||
|
belongs_to :status
|
||||||
|
|
||||||
|
scope :active, -> { where('expires_at > ?', [Time.now]) }
|
||||||
|
end
|
|
@ -0,0 +1,11 @@
|
||||||
|
class CreatePromotions < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
create_table :promotions do |t|
|
||||||
|
t.timestamps
|
||||||
|
t.datetime :expires_at, null: true
|
||||||
|
t.bigint :status_id, null: false
|
||||||
|
t.string :timeline_id, null: true
|
||||||
|
t.integer :position, default: 10
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
21
db/schema.rb
21
db/schema.rb
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 2019_08_04_115634) do
|
ActiveRecord::Schema.define(version: 2019_09_03_162122) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
|
@ -93,7 +93,7 @@ ActiveRecord::Schema.define(version: 2019_08_04_115634) do
|
||||||
t.bigint "account_id"
|
t.bigint "account_id"
|
||||||
t.string "image_file_name"
|
t.string "image_file_name"
|
||||||
t.string "image_content_type"
|
t.string "image_content_type"
|
||||||
t.bigint "image_file_size"
|
t.integer "image_file_size"
|
||||||
t.datetime "image_updated_at"
|
t.datetime "image_updated_at"
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
|
@ -157,10 +157,10 @@ ActiveRecord::Schema.define(version: 2019_08_04_115634) do
|
||||||
t.string "actor_type"
|
t.string "actor_type"
|
||||||
t.boolean "discoverable"
|
t.boolean "discoverable"
|
||||||
t.string "also_known_as", array: true
|
t.string "also_known_as", array: true
|
||||||
t.datetime "silenced_at"
|
|
||||||
t.datetime "suspended_at"
|
|
||||||
t.boolean "is_pro", default: false, null: false
|
t.boolean "is_pro", default: false, null: false
|
||||||
t.datetime "pro_expires_at"
|
t.datetime "pro_expires_at"
|
||||||
|
t.datetime "silenced_at"
|
||||||
|
t.datetime "suspended_at"
|
||||||
t.boolean "is_verified", default: false, null: false
|
t.boolean "is_verified", default: false, null: false
|
||||||
t.boolean "is_donor", default: false, null: false
|
t.boolean "is_donor", default: false, null: false
|
||||||
t.boolean "is_investor", default: false, null: false
|
t.boolean "is_investor", default: false, null: false
|
||||||
|
@ -578,6 +578,15 @@ ActiveRecord::Schema.define(version: 2019_08_04_115634) do
|
||||||
t.index ["status_id", "preview_card_id"], name: "index_preview_cards_statuses_on_status_id_and_preview_card_id"
|
t.index ["status_id", "preview_card_id"], name: "index_preview_cards_statuses_on_status_id_and_preview_card_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
create_table "promotions", force: :cascade do |t|
|
||||||
|
t.datetime "created_at", null: false
|
||||||
|
t.datetime "updated_at", null: false
|
||||||
|
t.datetime "expires_at"
|
||||||
|
t.bigint "status_id", null: false
|
||||||
|
t.string "timeline_id"
|
||||||
|
t.integer "position", default: 10
|
||||||
|
end
|
||||||
|
|
||||||
create_table "relays", force: :cascade do |t|
|
create_table "relays", force: :cascade do |t|
|
||||||
t.string "inbox_url", default: "", null: false
|
t.string "inbox_url", default: "", null: false
|
||||||
t.string "follow_activity_id"
|
t.string "follow_activity_id"
|
||||||
|
@ -658,8 +667,8 @@ ActiveRecord::Schema.define(version: 2019_08_04_115634) do
|
||||||
create_table "status_pins", force: :cascade do |t|
|
create_table "status_pins", force: :cascade do |t|
|
||||||
t.bigint "account_id", null: false
|
t.bigint "account_id", null: false
|
||||||
t.bigint "status_id", null: false
|
t.bigint "status_id", null: false
|
||||||
t.datetime "created_at", default: -> { "now()" }, null: false
|
t.datetime "created_at", default: -> { "CURRENT_TIMESTAMP" }, null: false
|
||||||
t.datetime "updated_at", default: -> { "now()" }, null: false
|
t.datetime "updated_at", default: -> { "CURRENT_TIMESTAMP" }, null: false
|
||||||
t.index ["account_id", "status_id"], name: "index_status_pins_on_account_id_and_status_id", unique: true
|
t.index ["account_id", "status_id"], name: "index_status_pins_on_account_id_and_status_id", unique: true
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue