Advertisement
Guest User

Untitled

a guest
Mar 13th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. <?php
  2.  
  3. # Creates an array first with given numbers
  4. # Dumps it to db with 250 records/insert intervals
  5. # You may need to adjust your php settings:
  6. # ini_set('memory_limit', '1024M');
  7. # ini_set('max_execution_time', 300); //300 seconds = 5 minutes
  8.  
  9. /**
  10. * Users Seeds
  11. * @param integer $number_of_users
  12. */
  13. public function seed_users_users($number_of_users = 200000)
  14. {
  15. $_tbl = 'v_users';
  16. $data = array();
  17. for ($i=0; $i < $number_of_users; $i++) {
  18. $faker = Faker\Factory::create();
  19. $data[$i] = new stdClass();
  20. $data[$i]->last_name = $faker->lastName;
  21. $data[$i]->username = $faker->userName;
  22. $data[$i]->password = $faker->password(8);
  23. $data[$i]->salt = $faker->password(24);
  24. $data[$i]->sex = $faker->randomElement(array ('m','f','u'));
  25.  
  26. switch ($data[$i]->sex) {
  27. case "m":
  28. $data[$i]->first_name = $faker->firstNameMale;
  29. break;
  30. case "f":
  31. $data[$i]->first_name = $faker->firstNameFemale;
  32. break;
  33. default:
  34. $data[$i]->first_name = $faker->firstName;
  35. }
  36.  
  37. $data[$i]->birthday = $faker->dateTimeBetween('-30 years', '-20 years')
  38. ->format('Y-m-d');
  39. $data[$i]->tcno = null;
  40. $data[$i]->last_login = null;
  41. $data[$i]->current_login = null;
  42. $data[$i]->created_at = $faker->dateTimeBetween('-3 months', 'now')
  43. ->format('Y-m-d H:i:s');
  44. $data[$i]->updated_at = null;
  45. $data[$i]->deleted_at = null;
  46. $data[$i]->suspended_at = null;
  47. $data[$i]->banned_at = null;
  48. $data[$i]->promo_code = null;
  49. $data[$i]->system_messages_synced_at = null;
  50. $data[$i]->group_id = $faker->numberBetween(1,8);
  51. $data[$i]->role_id = $faker->numberBetween(1,6);
  52. $data[$i]->is_opt_in = $faker->boolean(70);
  53. }
  54.  
  55. $this->db->truncate($_tbl);
  56.  
  57. $partial_counter = 1;
  58. $global_counter = 1;
  59. $total_count = count($data);
  60. if($total_count > 250) {
  61. $partial = array();
  62. $last_lot = $total_count % 250;
  63. foreach ($data as $row) {
  64. $partial[$partial_counter] = $row;
  65. if (($partial_counter % 250) == 0) {
  66. $this->db->insert_batch($_tbl, $partial);
  67. $partial = array();
  68. $partial_counter = 0;
  69. }
  70.  
  71. if($last_lot) {
  72. if($global_counter == $total_count) {
  73. $this->db->insert_batch($_tbl, $partial);
  74. $partial = array();
  75. $partial_counter = 0;
  76. }
  77. }
  78. $partial_counter++;
  79. $global_counter++;
  80. }
  81. } else {
  82. foreach ($data as $row) {
  83. $partial[$global_counter] = $row;
  84.  
  85. if($global_counter == $total_count) {
  86. $this->db->insert_batch($_tbl, $partial);
  87. }
  88.  
  89. $global_counter++;
  90. }
  91. }
  92. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement