Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Return version logging to prices DB table #980

Merged
merged 3 commits into from
Sep 14, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/models/billing/price.rb
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
module Billing
class Price < ApplicationRecord
include Concerns::Billing::Price::Expirable
include Versions

belongs_to :zone, class_name: 'DNS::Zone', required: true
has_many :account_activities
Expand Down
7 changes: 7 additions & 0 deletions app/models/version/billing/price_version.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module Billing
class PriceVersion < PaperTrail::Version
self.table_name = :log_prices
self.sequence_name = :log_prices_id_seq
end
end

26 changes: 26 additions & 0 deletions db/migrate/20200910102028_create_version_for_prices.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
class CreateVersionForPrices < ActiveRecord::Migration[6.0]
def up
create_table :log_prices, force: :cascade do |t|
t.string :item_type, null: false
t.integer :item_id, null: false
t.string :event, null: false
t.string :whodunnit
t.json :object
t.json :object_changes
t.datetime :created_at
t.string :session
t.json :children
t.string :uuid
end

add_index 'log_prices', ['item_type', 'item_id'], name: 'index_log_prices_on_item_type_and_item_id', using: :btree
add_index 'log_prices', ['whodunnit'], name: 'index_log_prices_on_whodunnit', using: :btree
end

def down
remove_index :log_prices, name: 'index_log_prices_on_item_type_and_item_id'
remove_index :log_prices, name: 'index_log_prices_on_whodunnit'

drop_table :log_prices
end
end
65 changes: 59 additions & 6 deletions db/structure.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1706,7 +1706,45 @@ ALTER SEQUENCE public.log_payment_orders_id_seq OWNED BY public.log_payment_orde


--
-- Name: log_registrant_verifications; Type: TABLE; Schema: public; Owner: -; Tablespace:
-- Name: log_prices; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.log_prices (
id bigint NOT NULL,
item_type character varying NOT NULL,
item_id integer NOT NULL,
event character varying NOT NULL,
whodunnit character varying,
object json,
object_changes json,
created_at timestamp without time zone,
session character varying,
children json,
uuid character varying
);


--
-- Name: log_prices_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--

CREATE SEQUENCE public.log_prices_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;


--
-- Name: log_prices_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--

ALTER SEQUENCE public.log_prices_id_seq OWNED BY public.log_prices.id;


--
-- Name: log_registrant_verifications; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.log_registrant_verifications (
Expand Down Expand Up @@ -2092,8 +2130,8 @@ CREATE TABLE public.prices (
price_cents integer NOT NULL,
valid_from timestamp without time zone,
valid_to timestamp without time zone,
creator_str character varying,
updator_str character varying,
creator_str character varying,
created_at timestamp without time zone NOT NULL,
updated_at timestamp without time zone NOT NULL,
duration interval,
Expand Down Expand Up @@ -2838,7 +2876,14 @@ ALTER TABLE ONLY public.log_payment_orders ALTER COLUMN id SET DEFAULT nextval('


--
-- Name: id; Type: DEFAULT; Schema: public; Owner: -
-- Name: log_prices id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.log_prices ALTER COLUMN id SET DEFAULT nextval('public.log_prices_id_seq'::regclass);


--
-- Name: log_registrant_verifications id; Type: DEFAULT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.log_registrant_verifications ALTER COLUMN id SET DEFAULT nextval('public.log_registrant_verifications_id_seq'::regclass);
Expand Down Expand Up @@ -3304,7 +3349,15 @@ ALTER TABLE ONLY public.log_payment_orders


--
-- Name: log_registrant_verifications_pkey; Type: CONSTRAINT; Schema: public; Owner: -; Tablespace:
-- Name: log_prices log_prices_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.log_prices
ADD CONSTRAINT log_prices_pkey PRIMARY KEY (id);


--
-- Name: log_registrant_verifications log_registrant_verifications_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--

ALTER TABLE ONLY public.log_registrant_verifications
Expand Down Expand Up @@ -4851,6 +4904,6 @@ INSERT INTO "schema_migrations" (version) VALUES
('20200812090409'),
('20200812125810'),
('20200908131554'),
('20200910085157');

('20200910085157'),
('20200910102028');