commit提取贡献者创建时间

This commit is contained in:
xxq250 2023-04-19 20:27:18 +08:00
parent 68a4575476
commit 0aee41c7ea
1 changed files with 11 additions and 7 deletions

View File

@ -40,15 +40,19 @@ namespace :batch_add_contributors do
# user_id = user&.id || project.user_id
commit_date = Time.parse(commit['commit']['author']['date'])
commit_date_str = commit_date.strftime("%Y-%m-%d %H:%M:%S")
sql_connection = ActiveRecord::Base.connection
sql_connection.begin_db_transaction
if Issue.find_by_sql("select id from commit_contributors where name='#{commiter['email']}'").present?
sql = "update commit_contributors set created_at ='#{commit_date_str}' where name='#{commiter['email']}'"
site = Site.find_by_sql("select id, created_at from commit_contributors where name='#{commiter['email']}'")
if site.present?
puts "commit_date====#{commit_date},created_at======#{site.first&.created_at}"
if commit_date.to_i < site.created_at.to_i
sql = "update commit_contributors set created_at ='#{commit_date_str}' where name='#{commiter['email']}'"
end
else
sql = "INSERT INTO commit_contributors (`created_at`, `count`, `name`) VALUES ('#{commit_date_str}',1,'#{commiter['email']}')"
end
puts "sql====#{sql}"
sql_connection = ActiveRecord::Base.connection
sql_connection.begin_db_transaction
sql_connection.execute(sql)
sql_connection.commit_db_transaction
@ -90,10 +94,8 @@ namespace :batch_add_contributors do
# user_id = user&.id || project.user_id
commit_date = Time.parse(commit['commit']['author']['date'])
commit_date_str = commit_date.strftime("%Y-%m-%d %H:%M:%S")
sql_connection = ActiveRecord::Base.connection
sql_connection.begin_db_transaction
site = Site.find_by_sql("select id, created_at from commit_contributors where name='#{commiter['email']}'")
if site.present?
puts "commit_date====#{commit_date},created_at======#{site.first&.created_at}"
if commit_date.to_i < site.created_at.to_i
@ -104,6 +106,8 @@ namespace :batch_add_contributors do
end
puts "sql====#{sql}"
sql_connection = ActiveRecord::Base.connection
sql_connection.begin_db_transaction
sql_connection.execute(sql)
sql_connection.commit_db_transaction