CREATE DEFINER=`jeongho`@`%` PROCEDURE `insert_application_member`()
BEGIN
	DECLARE i INT DEFAULT 1;
    START TRANSACTION;
    WHILE i <= 100000 DO
		INSERT INTO member (email, gender, is_edited, nickname, profile_url, workout_day, workout_purpose, workout_time  ) 
        VALUES (CONCAT("test", UUID()), "남성", "Y", CONCAT("test", i), "xxxxxx", "월,화,수", "다이어트", "13:30");
		SET i = i+1;
	END WHILE;
	COMMIT;
END
CREATE DEFINER=`jeongho`@`%` PROCEDURE `insert_application_gym`()
BEGIN
	DECLARE i INT DEFAULT 1;
	DECLARE alphabet VARCHAR(30) DEFAULT 'abcdefghijklmnopqrstuvwxyz';
	DECLARE word VARCHAR(20) DEFAULT '';
    DECLARE K INT DEFAULT 1;
	
	START TRANSACTION;
    
    WHILE i <= 25000 DO
		SET K = 1;
		SET word = '';
		WHILE K <= 15 DO
			SET word= CONCAT(word, SUBSTRING(alphabet, FLOOR(1 + RAND() * 26), 1));
			SET K = K + 1;
		END WHILE;
		INSERT INTO gym (latitude, longitude, location, name) 
        VALUES (1234.1234, 1234.1234, "xx시 xx구", word);
		SET i = i+1;
	END WHILE;
    
	COMMIT;
END
CREATE DEFINER=`jeongho`@`%` PROCEDURE `insert_application_recruitment`()
BEGIN
	DECLARE i INT DEFAULT 1;
    DECLARE j INT DEFAULT 1;
    
	DECLARE alphabet VARCHAR(30) DEFAULT 'abcdefghijklmnopqrstuvwxyz';
	DECLARE word VARCHAR(20) DEFAULT '';

    SET @start_datetime = '2023-07-05 00:00:00'; -- 시작 날짜
    SET @end_datetime = '2023-12-31 00:00:00'; -- 종료 날짜
    
    START TRANSACTION;
    WHILE i <= 5000 DO
		WHILE j <= 5 DO
			SET word = SUBSTRING(word, FLOOR(1 + RAND() * (24 - 15 + 1)), 15);
			SET @start_timestamp = UNIX_TIMESTAMP(@start_datetime);
			SET @end_timestamp = UNIX_TIMESTAMP(@end_datetime);
			SET @random_timestamp = FLOOR(@start_timestamp + RAND() * (@end_timestamp - @start_timestamp));
			SET @random_datetime = FROM_UNIXTIME(@random_timestamp);
			
			INSERT INTO recruitment (is_deleted, prefer_gender, status, started_at, title, workout_part, gym_id, member_id)
			VALUES ("N", "BOTH", "RECRUITING",  @random_datetime, word, "SHOULDER", (i*5+1)-j, i);
            
            SET j = j+1;
        END WHILE;
        SET j = 1;
        SET i = i+1;
	END WHILE;
	COMMIT;
END
CREATE DEFINER=`jeongho`@`%` PROCEDURE `insert_application`()
BEGIN
	DECLARE m_id INT;
	DECLARE i INT DEFAULT 1;
    DECLARE j INT DEFAULT 1;
	START TRANSACTION;
    
    WHILE i <= 25000 DO
		WHILE j <= 20 DO
			SET m_id = FLOOR(5001 + RAND() * (100000 - 5001 + 1));
			INSERT INTO application (status, member_id, recruitment_id)
			VALUES ("WAITING", m_id, i);
		
			SET j = j+1;
		END WHILE;
        SET j = 1;
        SET i = i+1;
    END WHILE;
	COMMIT;
END