Skip to content

Commit aa0d977

Browse files
committed
Migrate 'signer_registration' table
1 parent 67f1903 commit aa0d977

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

mithril-aggregator/src/database/migration.rs

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,48 @@ create table open_message (
146146
foreign key (epoch_setting_id) references epoch_setting (epoch_setting_id),
147147
foreign key (signed_entity_type_id) references signed_entity_type (signed_entity_type_id)
148148
);
149+
"#,
150+
),
151+
// Migration 6
152+
// Add the `signer_registration` table and migration data from the previous
153+
// `verification_key` JSON format.
154+
SqlMigration::new(
155+
6,
156+
r#"
157+
create table signer_registration (
158+
signer_id text not null,
159+
epoch_setting_id integer not null,
160+
verification_key text not null,
161+
verification_key_signature text,
162+
operational_certificate text,
163+
kes_period integer,
164+
stake integer,
165+
created_at text not null default current_timestamp,
166+
primary key (epoch_setting_id, signer_id)
167+
-- TODO: activate FK w/ signer table exists
168+
-- foreign key (signer_id) references signer(signer_id)
169+
foreign key (epoch_setting_id) references epoch_settings(epoch_setting_id)
170+
);
171+
create table if not exists verification_key (key_hash text primary key, key json not null, value json not null);
172+
insert into signer_registration (signer_id,
173+
epoch_setting_id,
174+
verification_key,
175+
verification_key_signature,
176+
operational_certificate,
177+
kes_period,
178+
stake)
179+
select
180+
verification_key_signer.key as signer_id,
181+
verification_key.key as epoch_setting_id,
182+
json_extract(verification_key_signer.value, '$.verification_key') as verification_key,
183+
json_extract(verification_key_signer.value, '$.verification_key_signature') as verification_key_signature,
184+
json_extract(verification_key_signer.value, '$.operational_certificate') as operational_certificate,
185+
json_extract(verification_key_signer.value, '$.kes_period') as kes_period,
186+
stake_pool.stake as stake
187+
from verification_key, json_each(verification_key.value) as verification_key_signer
188+
left join stake_pool on stake_pool.stake_pool_id = verification_key_signer.key and stake_pool.epoch = verification_key.key
189+
order by verification_key.key, verification_key_signer.key asc;
190+
drop table verification_key;
149191
"#,
150192
),
151193
]

0 commit comments

Comments
 (0)