import mysql.connector
import sys
def main():
mydb = mysql.connector.connect(
host="localhost",
user="****",
password="****",
database="****"
)
cursor = mydb.cursor(buffered=True)
query = "select resource_id from xf_rm_resource where resource_type = 'download'"
for resource in stream_query(mydb, query):
resource_id = resource[0]
query = f"select resource_update_id from xf_rm_resource_update where resource_id = {resource_id} order by post_date limit 1"
cursor.execute(query)
resource_update_id = cursor.fetchone()[0]
print(f"Updating: {resource_id}. Resource Update ID: {resource_update_id}")
query = f"update xf_attachment set content_type = 'xfa_ec_rm_resource', content_id = {resource_id} where content_id = {resource_update_id} and content_type = 'resource_update'"
cursor.execute(query)
mydb.commit()
def stream_query(connection, query):
c = connection.cursor(buffered=True)
c.execute(query)
while True:
nextrows = c.fetchmany(128)
if not nextrows:
break
for row in nextrows:
yield row
if __name__ == "__main__":
main()