DatabaseCreation: console_4.sql

File console_4.sql, 1.5 KB (added by 231166, 2 days ago)
Line 
1CREATE TEMP TABLE temp_names (name VARCHAR(255));
2
3COPY temp_names (name)
4FROM 'C:\temp\names_only_1000.csv'
5WITH (FORMAT csv, HEADER true, DELIMITER ',');
6
7SELECT * FROM temp_names LIMIT 5;
8
9CREATE TEMP TABLE temp_surnames (surname VARCHAR(255));
10
11COPY temp_surnames (surname)
12FROM 'C:\temp\surnames_only_1000.csv'
13WITH (FORMAT csv, HEADER true, DELIMITER ',');
14
15SELECT * FROM temp_surnames LIMIT 5;
16
17INSERT INTO "User" (FirstName, LastName, Username, Email, password)
18SELECT
19 n.name,
20 s.surname,
21 LOWER(n.name || '.' || s.surname || row_number() OVER ()) AS Username,
22 LOWER(n.name || '.' || s.surname || row_number() OVER () || '@vidi.mk') AS Email,
23 'pbkdf2_sha256$260000$standardhash'
24FROM temp_names n
25CROSS JOIN temp_surnames s
26LIMIT 1000000;
27
28
29INSERT INTO User_Subscription (UserUserID, SubscriptionSubscriptionID, Start_date, Status, Auto_renew)
30SELECT
31 u.UserID,
32 (SELECT SubscriptionID FROM Subscription ORDER BY random() LIMIT 1) AS SubscriptionID,
33 CURRENT_DATE - (random() * 30)::int AS Start_date,
34 'Active' AS Status,
35 (random() > 0.5)::int AS Auto_renew
36FROM "User" u
37ORDER BY random()
38LIMIT 500000;
39
40SELECT Auto_renew, COUNT(*)
41FROM User_Subscription
42GROUP BY Auto_renew;
43
44UPDATE User_Subscription
45SET Auto_renew = (CASE WHEN random() > 0.5 THEN 1 ELSE 0 END);
46
47UPDATE User_Subscription
48SET End_date = CURRENT_DATE + (INTERVAL '1 month' + random() * (INTERVAL '11 months'))
49WHERE End_date IS NULL;