parent
ab4295d492
commit
14d983ec93
@ -0,0 +1,19 @@ |
||||
require 'xz' |
||||
require 'active_record/connection_adapters/postgresql_adapter' |
||||
|
||||
class CompressedText < ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Bytea |
||||
def type |
||||
:compressed_text |
||||
end |
||||
|
||||
def serialize(value) |
||||
return if value.nil? |
||||
value = XZ.compress value, level: 9 |
||||
super value |
||||
end |
||||
|
||||
def deserialize(value) |
||||
return if value.nil? |
||||
XZ.decompress super |
||||
end |
||||
end |
@ -0,0 +1 @@ |
||||
ActiveRecord::Type.register :compressed_text, CompressedText, adapter: :postgresql |
@ -0,0 +1,10 @@ |
||||
class CreateDiffs < ActiveRecord::Migration[5.2] |
||||
def change |
||||
create_table :diffs do |t| |
||||
t.json :content, null: false |
||||
|
||||
t.belongs_to :site, index: true, foreign_key: true, null: false |
||||
t.datetime :created_at, null: false |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue