81 lines
3.2 KiB
Python
81 lines
3.2 KiB
Python
import warnings
|
|
from datetime import datetime
|
|
from utils import get_conn, get_month_date
|
|
warnings.filterwarnings("ignore")
|
|
|
|
|
|
def generate_history_data_by_test():
|
|
"""
|
|
按月生成历史数据
|
|
:return:
|
|
"""
|
|
conn = get_conn()
|
|
curs = conn.cursor()
|
|
|
|
months = [10, 11]
|
|
for month in months:
|
|
date_list = get_month_date(2022, month)
|
|
for date in date_list:
|
|
sql = f"""
|
|
INSERT INTO
|
|
ai_repository_history
|
|
SELECT
|
|
nextval('ai_repository_history_id_seq') as id, owner_id, owner_name, lower_name, name, description,
|
|
website, original_service_type, original_url, default_branch, creator_id,
|
|
(ceil(random() * 10) + num_watches) as num_watches,
|
|
(ceil(random() * 10) + num_stars) as num_stars,
|
|
(ceil(random() * 10) + num_forks) as num_forks,
|
|
(ceil(random() * 10) + num_issues) as num_issues,
|
|
(ceil(random() * 10) + num_closed_issues) as num_closed_issues,
|
|
(ceil(random() * 10) + num_pulls) as num_pulls,
|
|
(ceil(random() * 10) + num_closed_pulls) as num_closed_pulls,
|
|
num_milestones, num_closed_milestones,
|
|
(ceil(random() * 10) + num_commit) as num_commit, repo_type, is_private, is_empty,
|
|
is_archived, is_mirror, status, is_fork, fork_id, is_template, template_id, size,
|
|
is_fsck_enabled, close_issues_via_commit_in_any_branch, topics, avatar, contract_address,
|
|
balance, block_chain_status,
|
|
(ceil(random() * 10) + clone_cnt) as clone_cnt, git_clone_cnt, created_unix, updated_unix,
|
|
alias, lower_alias, id as repo_id, '{date}' as date_str
|
|
FROM
|
|
repository
|
|
"""
|
|
curs.execute(sql)
|
|
|
|
conn.commit()
|
|
conn.close()
|
|
|
|
|
|
def generate_history_data():
|
|
"""
|
|
生成当天数据
|
|
:return:
|
|
"""
|
|
conn = get_conn()
|
|
curs = conn.cursor()
|
|
date = datetime.now().strftime('%Y-%m-%d')
|
|
sql = f"""
|
|
INSERT INTO
|
|
ai_repository_history
|
|
SELECT
|
|
nextval('ai_repository_history_id_seq') as id, owner_id, owner_name, lower_name, name, description,
|
|
website, original_service_type, original_url, default_branch, creator_id,
|
|
num_watches, num_stars, num_forks, num_issues, num_closed_issues, num_pulls, num_closed_pulls,
|
|
num_milestones, num_closed_milestones, num_commit, repo_type, is_private, is_empty,
|
|
is_archived, is_mirror, status, is_fork, fork_id, is_template, template_id, size,
|
|
is_fsck_enabled, close_issues_via_commit_in_any_branch, topics, avatar, contract_address,
|
|
balance, block_chain_status, clone_cnt, git_clone_cnt, created_unix, updated_unix,
|
|
alias, lower_alias, id as repo_id, '{date}' as date_str, {int(datetime.now().timestamp())}
|
|
FROM
|
|
repository
|
|
"""
|
|
curs.execute(sql)
|
|
conn.commit()
|
|
conn.close()
|
|
|
|
|
|
if __name__ == '__main__':
|
|
# 生成测试数据
|
|
generate_history_data_by_test()
|
|
|
|
# 生成正式数据
|
|
# generate_history_data() |