migration-2.sql 1.7 KB

12345678910111213141516171819202122232425262728293031
  1. ALTER TABLE `as_assets` ADD COLUMN `download_provider` TINYINT NOT NULL AFTER `download_url`;
  2. ALTER TABLE `as_assets` ADD `download_commit` VARCHAR(64) NOT NULL AFTER `download_provider`;
  3. UPDATE `as_assets` SET `download_provider`=0,`download_commit`=
  4. SUBSTRING(`download_url`,
  5. LOCATE('/',`download_url`,LOCATE('/',`download_url`,LOCATE('/',`download_url`,20)+1)+1)+1,
  6. -- Matching the last slash, which is V right below the `V`
  7. -- https://github.com/.../.../archive/....zip
  8. -- ^ This slash is the 19-th character
  9. LENGTH(`download_url`) - LOCATE('/',`download_url`,LOCATE('/',`download_url`,LOCATE('/',`download_url`,20)+1)+1) - 4
  10. -- Repeating locate formula :/
  11. ) WHERE `download_url` RLIKE 'https:\/\/github.com\/[^\/]+\/[^\/]+\/archive\/[^\/]+.zip';
  12. ALTER TABLE `as_assets` DROP COLUMN `download_url`;
  13. ALTER TABLE `as_asset_edits` ADD COLUMN `download_provider` TINYINT NULL AFTER `download_url`;
  14. ALTER TABLE `as_asset_edits` ADD `download_commit` VARCHAR(64) NULL AFTER `download_provider`;
  15. UPDATE `as_asset_edits` SET `download_provider`=0,`download_commit`=
  16. SUBSTRING(`download_url`,
  17. LOCATE('/',`download_url`,LOCATE('/',`download_url`,LOCATE('/',`download_url`,20)+1)+1)+1,
  18. -- Matching the last slash, which is V right below the `V`
  19. -- https://github.com/.../.../archive/....zip
  20. -- ^ This slash is the 19-th character
  21. LENGTH(`download_url`) - LOCATE('/',`download_url`,LOCATE('/',`download_url`,LOCATE('/',`download_url`,20)+1)+1) - 4
  22. -- Repeating locate formula :/
  23. ) WHERE `download_url` RLIKE 'https:\/\/github.com\/[^\/]+\/[^\/]+\/archive\/[^\/]+.zip';
  24. ALTER TABLE `as_asset_edits` DROP COLUMN `download_url`;