Skip to content

Commit

Permalink
use uuid for jid
Browse files Browse the repository at this point in the history
  • Loading branch information
hooopo committed Mar 25, 2019
1 parent d3a9547 commit 3f1d8e9
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 31 deletions.
10 changes: 10 additions & 0 deletions db/migrate/20190325203524_uuid_jid.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
class UuidJid < ActiveRecord::Migration[5.2]
def change
self.class.schema_search_path = 'pgmq, public'
execute %Q{create EXTENSION "uuid-ossp"}
execute "ALTER TABLE jobs ALTER COLUMN jid DROP DEFAULT"
execute "ALTER TABLE jobs ALTER COLUMN jid SET DATA TYPE UUID USING LPAD(TO_HEX(jid), 32, '0')::UUID;"
execute "ALTER TABLE jobs ALTER COLUMN jid SET DEFAULT uuid_generate_v4()"
execute "DROP SEQUENCE jobs_id_seq"
end
end
51 changes: 20 additions & 31 deletions db/structure.sql
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,20 @@ SET row_security = off;
CREATE SCHEMA pgmq;


--
-- Name: uuid-ossp; Type: EXTENSION; Schema: -; Owner: -
--

CREATE EXTENSION IF NOT EXISTS "uuid-ossp" WITH SCHEMA pgmq;


--
-- Name: EXTENSION "uuid-ossp"; Type: COMMENT; Schema: -; Owner: -
--

COMMENT ON EXTENSION "uuid-ossp" IS 'generate universally unique identifiers (UUIDs)';


--
-- Name: state; Type: TYPE; Schema: pgmq; Owner: -
--
Expand Down Expand Up @@ -64,7 +78,7 @@ SET default_with_oids = false;
--

CREATE TABLE pgmq.jobs (
jid bigint NOT NULL,
jid uuid DEFAULT pgmq.uuid_generate_v4() NOT NULL,
queue character varying DEFAULT 'default'::character varying,
jobtype character varying NOT NULL,
args jsonb DEFAULT '[]'::jsonb,
Expand Down Expand Up @@ -230,7 +244,7 @@ CREATE FUNCTION pgmq.fetch_jobs(lmt integer DEFAULT 1) RETURNS SETOF pgmq.jobs
LANGUAGE sql
AS $$
UPDATE ONLY jobs
SET state = 'working'
SET state = 'working', enqueued_at = now()
WHERE jid IN (
SELECT jid
FROM ONLY jobs
Expand Down Expand Up @@ -261,25 +275,6 @@ CREATE TABLE pgmq.done_jobs (
INHERITS (pgmq.jobs);


--
-- Name: jobs_id_seq; Type: SEQUENCE; Schema: pgmq; Owner: -
--

CREATE SEQUENCE pgmq.jobs_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;


--
-- Name: jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: pgmq; Owner: -
--

ALTER SEQUENCE pgmq.jobs_id_seq OWNED BY pgmq.jobs.jid;


--
-- Name: workers; Type: TABLE; Schema: pgmq; Owner: -
--
Expand Down Expand Up @@ -367,7 +362,7 @@ CREATE TABLE public.schema_migrations (
-- Name: dead_jobs jid; Type: DEFAULT; Schema: pgmq; Owner: -
--

ALTER TABLE ONLY pgmq.dead_jobs ALTER COLUMN jid SET DEFAULT nextval('pgmq.jobs_id_seq'::regclass);
ALTER TABLE ONLY pgmq.dead_jobs ALTER COLUMN jid SET DEFAULT pgmq.uuid_generate_v4();


--
Expand Down Expand Up @@ -444,7 +439,7 @@ ALTER TABLE ONLY pgmq.dead_jobs ALTER COLUMN failure SET DEFAULT '{}'::jsonb;
-- Name: done_jobs jid; Type: DEFAULT; Schema: pgmq; Owner: -
--

ALTER TABLE ONLY pgmq.done_jobs ALTER COLUMN jid SET DEFAULT nextval('pgmq.jobs_id_seq'::regclass);
ALTER TABLE ONLY pgmq.done_jobs ALTER COLUMN jid SET DEFAULT pgmq.uuid_generate_v4();


--
Expand Down Expand Up @@ -517,13 +512,6 @@ ALTER TABLE ONLY pgmq.done_jobs ALTER COLUMN custom SET DEFAULT '{}'::jsonb;
ALTER TABLE ONLY pgmq.done_jobs ALTER COLUMN failure SET DEFAULT '{}'::jsonb;


--
-- Name: jobs jid; Type: DEFAULT; Schema: pgmq; Owner: -
--

ALTER TABLE ONLY pgmq.jobs ALTER COLUMN jid SET DEFAULT nextval('pgmq.jobs_id_seq'::regclass);


--
-- Name: workers id; Type: DEFAULT; Schema: pgmq; Owner: -
--
Expand Down Expand Up @@ -609,6 +597,7 @@ INSERT INTO "schema_migrations" (version) VALUES
('20190321181237'),
('20190321184924'),
('20190322062701'),
('20190325042219');
('20190325042219'),
('20190325203524');


0 comments on commit 3f1d8e9

Please sign in to comment.