{"push_id":2780169701,"size":2,"distinct_size":1,"ref":"refs/heads/mv_primary_key","head":"60d005f8d174d21162cab2b029f74cfe2925acab","before":"28384c56daf65a07246ed52ceca64c0e99a05608","commits":[{"sha":"30c64cb3292f55231bc20c365c2fe5d06d6d2369","author":{"name":"Niall Sheridan","email":"aa434422be7b2e7fac078086a8bbc81450c97bc1@gmail.com"},"message":"Drop unneeded index idx_revoked_expires_at","distinct":false,"url":"https://api.github.com/repos/nsheridan/cashier/commits/30c64cb3292f55231bc20c365c2fe5d06d6d2369"},{"sha":"60d005f8d174d21162cab2b029f74cfe2925acab","author":{"name":"Niall Sheridan","email":"aa434422be7b2e7fac078086a8bbc81450c97bc1@gmail.com"},"message":"Change the primary key on the issued_certs table\n\nIn retrospect a primary key that has no relation to the certificate is preferred to using the certificate KeyID. The KeyID is also very large for a primary index.\nThis is a moderately tricky migration, especially for SQLite which has no means of altering the table in this fashion - it involves creating the new table and copying the data.\nOrder of commands also matters - index names are global in SQLite, so the `idx_expires_at` index needs to be created at the correct stages.\n\nFor MySQL migration the necessary steps are run as a single alter statement to minimise the risk of leaving the migration in an incomplete state if anything aborts.\n\nWhen tested on a table with 250,000 rows (MySQL 5.7) the migration took 3 seconds to complete. As certificates will be requested infrequently the risk of prolonged locking is minimal.","distinct":true,"url":"https://api.github.com/repos/nsheridan/cashier/commits/60d005f8d174d21162cab2b029f74cfe2925acab"}]}
{"actor":{"display_login":"nsheridan"}}