mirror of
https://github.com/internetee/registry.git
synced 2025-06-05 04:07:33 +02:00
Add basic storage for validation events
This commit is contained in:
parent
6675dac63d
commit
d4fe961e34
5 changed files with 123 additions and 0 deletions
28
db/migrate/20210629074044_create_validation_events.rb
Normal file
28
db/migrate/20210629074044_create_validation_events.rb
Normal file
|
@ -0,0 +1,28 @@
|
|||
class CreateValidationEvents < ActiveRecord::Migration[6.1]
|
||||
|
||||
def up
|
||||
execute <<-SQL
|
||||
CREATE TYPE validation_type AS ENUM ('email_validation', 'manual_force_delete');
|
||||
SQL
|
||||
|
||||
create_table :validation_events do |t|
|
||||
t.jsonb :event_data
|
||||
t.boolean :result
|
||||
t.references :validation_eventable, polymorphic: true
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
|
||||
add_column :validation_events, :event_type, :validation_type
|
||||
add_index :validation_events, :event_type
|
||||
end
|
||||
|
||||
def down
|
||||
remove_column :validation_events, :event_type
|
||||
execute <<-SQL
|
||||
DROP TYPE validation_type;
|
||||
SQL
|
||||
|
||||
drop_table :validation_events
|
||||
end
|
||||
end
|
|
@ -65,6 +65,16 @@ CREATE EXTENSION IF NOT EXISTS pgcrypto WITH SCHEMA public;
|
|||
COMMENT ON EXTENSION pgcrypto IS 'cryptographic functions';
|
||||
|
||||
|
||||
--
|
||||
-- Name: validation_type; Type: TYPE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TYPE public.validation_type AS ENUM (
|
||||
'email_validation',
|
||||
'manual_force_delete'
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: generate_zonefile(character varying); Type: FUNCTION; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -2595,6 +2605,41 @@ CREATE SEQUENCE public.users_id_seq
|
|||
ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: validation_events; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE TABLE public.validation_events (
|
||||
id bigint NOT NULL,
|
||||
event_data jsonb,
|
||||
result boolean,
|
||||
validation_eventable_type character varying,
|
||||
validation_eventable_id bigint,
|
||||
created_at timestamp(6) without time zone NOT NULL,
|
||||
updated_at timestamp(6) without time zone NOT NULL,
|
||||
event_type public.validation_type
|
||||
);
|
||||
|
||||
|
||||
--
|
||||
-- Name: validation_events_id_seq; Type: SEQUENCE; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE SEQUENCE public.validation_events_id_seq
|
||||
START WITH 1
|
||||
INCREMENT BY 1
|
||||
NO MINVALUE
|
||||
NO MAXVALUE
|
||||
CACHE 1;
|
||||
|
||||
|
||||
--
|
||||
-- Name: validation_events_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER SEQUENCE public.validation_events_id_seq OWNED BY public.validation_events.id;
|
||||
|
||||
|
||||
--
|
||||
-- Name: versions; Type: TABLE; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -3170,6 +3215,13 @@ ALTER TABLE ONLY public.settings ALTER COLUMN id SET DEFAULT nextval('public.set
|
|||
ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: validation_events id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.validation_events ALTER COLUMN id SET DEFAULT nextval('public.validation_events_id_seq'::regclass);
|
||||
|
||||
|
||||
--
|
||||
-- Name: versions id; Type: DEFAULT; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -3814,6 +3866,14 @@ ALTER TABLE ONLY public.users
|
|||
ADD CONSTRAINT users_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: validation_events validation_events_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
ALTER TABLE ONLY public.validation_events
|
||||
ADD CONSTRAINT validation_events_pkey PRIMARY KEY (id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: versions versions_pkey; Type: CONSTRAINT; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -4427,6 +4487,20 @@ CREATE INDEX index_users_on_identity_code ON public.users USING btree (identity_
|
|||
CREATE INDEX index_users_on_registrar_id ON public.users USING btree (registrar_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_validation_events_on_event_type; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX index_validation_events_on_event_type ON public.validation_events USING btree (event_type);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_validation_events_on_validation_eventable; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
||||
CREATE INDEX index_validation_events_on_validation_eventable ON public.validation_events USING btree (validation_eventable_type, validation_eventable_id);
|
||||
|
||||
|
||||
--
|
||||
-- Name: index_versions_on_item_type_and_item_id; Type: INDEX; Schema: public; Owner: -
|
||||
--
|
||||
|
@ -5154,6 +5228,7 @@ INSERT INTO "schema_migrations" (version) VALUES
|
|||
('20200921084356'),
|
||||
('20210215101019'),
|
||||
('20210616112332'),
|
||||
('20210629074044'),
|
||||
('20210628090353'),
|
||||
('20210708131814');
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue