Advertisement
Guest User

Untitled

a guest
Oct 1st, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.01 KB | None | 0 0
  1. <?php
  2. $db_name = $argv[1];
  3. $db_user = $argv[2];
  4. $db_pass = '';
  5.  
  6. echo 'POSTGRESQL PASSWORD: ';
  7. fscanf(STDIN, '%s\n', $db_pass);
  8.  
  9. $pdo = new PDO('pgsql:host=localhost; dbname=' . $db_name . '; user=' . $db_user . '; password=' . $db_pass);
  10.  
  11. try {
  12. $pdo->beginTransaction()
  13.  
  14. $statement = $pdo->prepare('
  15. ALTER TABLE user_account
  16. ALTER COLUMN password
  17. TYPE varchar(250);
  18. ');
  19.  
  20. $statement->execute();
  21.  
  22.  
  23. $statement = $pdo->prepare('
  24. ALTER TABLE user_account
  25. ADD COLUMN hash varchar(250);
  26. ');
  27.  
  28. $statement->execute();
  29.  
  30.  
  31. $statement = $pdo->prepare('
  32. SELECT username, password
  33. FROM user_account;
  34. ');
  35.  
  36. $statement->execute();
  37.  
  38. $users = $statement->fetchAll();
  39.  
  40. $statement = $pdo->prepare('
  41. UPDATE user_account
  42. SET hash = :hash
  43. WHERE username = :username;
  44. ')
  45.  
  46. foreach($users as $user) {
  47. $params = array (
  48. 'hash' => password_hash($user['password'], PASSWORD_DEFAULT),
  49. 'username' => $user['username']
  50. );
  51.  
  52. $statement->execute($params);
  53. }
  54.  
  55. $pdo->commit();
  56. } catch (Exception e){
  57. $pdo->rollback();
  58. }
  59. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement