|
1 | 1 | import random |
2 | 2 | import datetime |
3 | 3 |
|
4 | | -from itertools import product, cycle |
| 4 | +from itertools import product |
5 | 5 |
|
6 | | -from faker import Faker |
| 6 | +from dateutil.relativedelta import relativedelta |
7 | 7 |
|
8 | | -fake = Faker() |
| 8 | +# from faker import Faker |
| 9 | + |
| 10 | +# fake = Faker() |
9 | 11 |
|
10 | 12 | # faker -r=1000 -s=',' name email ean8 vat |
11 | 13 |
|
12 | 14 | currencies_ids = list(range(1, 8)) |
13 | | -company_ids = list(range(1, 10)) |
14 | | - |
15 | | -iter_currencies_company = cycle(product(currencies_ids, company_ids)) |
16 | | - |
17 | | -today = datetime.date.today() |
18 | | - |
19 | | -# TODO |
| 15 | +company_ids = list(range(1, 10)) + ['NULL'] |
| 16 | +# +- 10 years of data |
| 17 | +days = [datetime.date.today()] |
| 18 | +for __ in range(10 * 365): |
| 19 | + days.append(days[-1] - relativedelta(days=1)) |
20 | 20 |
|
| 21 | +# \copy res_currency_rate(currency_id, name, company_id, rate) FROM '/home/odoo/Documents/dev/odoo_scripts/currency_rate.csv' (FORMAT csv, DELIMITER ',', NULL 'NULL'); |
21 | 22 | with open("currency_rate.csv", "wt") as f: |
22 | | - for i in range(100_000): |
23 | | - |
24 | | - currency_id = next(currency_iter) |
25 | | - |
26 | | - date |
27 | | - |
28 | | - line = ",".join([currency_id, date, company_id]) |
| 23 | + for currency_id, company_id, date in product(currencies_ids, company_ids, days): |
| 24 | + rate = random.random() * 10 |
| 25 | + line = ",".join([str(currency_id), str(date), str(company_id), str(rate)]) |
29 | 26 | f.write(f"{line}\n") |
30 | 27 |
|
31 | | - |
32 | 28 | """ |
33 | 29 |
|
34 | 30 | SELECT DISTINCT ON ("res_currency_rate"."currency_id") |
35 | 31 | "res_currency_rate"."currency_id", "res_currency_rate"."rate" |
36 | 32 | FROM "res_currency_rate" |
37 | | -WHERE "res_currency_rate"."company_id" IS NULL OR "res_currency_rate"."company_id" = 1 |
| 33 | +WHERE ("res_currency_rate"."company_id" IS NULL OR "res_currency_rate"."company_id" = 1) |
| 34 | +AND "res_currency_rate"."currency_id" = 5 |
38 | 35 | ORDER BY |
39 | 36 | "res_currency_rate"."currency_id", |
40 | 37 | "res_currency_rate"."company_id", |
|
78 | 75 | ) |
79 | 76 | FROM |
80 | 77 | "res_currency" |
81 | | -WHERE "res_currency" = 10 |
| 78 | +WHERE "res_currency"."id" = 5 |
82 | 79 | """ |
0 commit comments