Support file uploads

This allows submissions to store file uploads
This commit is contained in:
2020-04-09 11:02:07 +02:00
parent 73ccddee94
commit 10d80c6548
9 changed files with 107 additions and 14 deletions

View File

@@ -0,0 +1,27 @@
# This migration comes from active_storage (originally 20170806125915)
class CreateActiveStorageTables < ActiveRecord::Migration[5.2]
def change
create_table :active_storage_blobs do |t|
t.string :key, null: false
t.string :filename, null: false
t.string :content_type
t.text :metadata
t.bigint :byte_size, null: false
t.string :checksum, null: false
t.datetime :created_at, null: false
t.index [ :key ], unique: true
end
create_table :active_storage_attachments do |t|
t.string :name, null: false
t.references :record, null: false, polymorphic: true, index: false
t.references :blob, null: false
t.datetime :created_at, null: false
t.index [ :record_type, :record_id, :name, :blob_id ], name: "index_active_storage_attachments_uniqueness", unique: true
t.foreign_key :active_storage_blobs, column: :blob_id
end
end
end

View File

@@ -0,0 +1,6 @@
class AddMetadataToSubmissions < ActiveRecord::Migration[6.0]
def change
add_column :submissions, :remote_ip, :string
add_column :submissions, :referrer, :string
end
end

View File

@@ -10,18 +10,39 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2020_04_08_212150) do
ActiveRecord::Schema.define(version: 2020_04_09_001610) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "active_storage_attachments", force: :cascade do |t|
t.string "name", null: false
t.string "record_type", null: false
t.bigint "record_id", null: false
t.bigint "blob_id", null: false
t.datetime "created_at", null: false
t.index ["blob_id"], name: "index_active_storage_attachments_on_blob_id"
t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true
end
create_table "active_storage_blobs", force: :cascade do |t|
t.string "key", null: false
t.string "filename", null: false
t.string "content_type"
t.text "metadata"
t.bigint "byte_size", null: false
t.string "checksum", null: false
t.datetime "created_at", null: false
t.index ["key"], name: "index_active_storage_blobs_on_key", unique: true
end
create_table "authentications", force: :cascade do |t|
t.integer "user_id"
t.string "access_token"
t.string "refresh_token"
t.datetime "expires_at"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.text "access_token_ciphertext"
t.text "refresh_token_ciphertext"
end
create_table "forms", force: :cascade do |t|
@@ -40,6 +61,8 @@ ActiveRecord::Schema.define(version: 2020_04_08_212150) do
t.datetime "appended_at"
t.datetime "created_at", precision: 6, null: false
t.datetime "updated_at", precision: 6, null: false
t.string "remote_ip"
t.string "referrer"
end
create_table "users", force: :cascade do |t|
@@ -50,4 +73,5 @@ ActiveRecord::Schema.define(version: 2020_04_08_212150) do
t.datetime "updated_at", precision: 6, null: false
end
add_foreign_key "active_storage_attachments", "active_storage_blobs", column: "blob_id"
end