Ptul2x5 commited on
Commit
bb6ba93
·
verified ·
1 Parent(s): 45a1742

Fix Database Restore

Browse files
Files changed (1) hide show
  1. app.py +37 -7
app.py CHANGED
@@ -144,6 +144,10 @@ def register():
144
  user.set_password(form.password.data)
145
  db.session.add(user)
146
  db.session.commit()
 
 
 
 
147
  flash('Đăng ký thành công! Vui lòng đăng nhập.', 'success')
148
  return redirect(url_for('login'))
149
 
@@ -414,6 +418,10 @@ def predict():
414
  )
415
  db.session.add(feedback)
416
  db.session.commit()
 
 
 
 
417
  except Exception as db_error:
418
  print(f"Database error: {db_error}")
419
  # Không dừng quá trình nếu lưu DB thất bại
@@ -481,25 +489,43 @@ with app.app_context():
481
  except Exception as e:
482
  print(f"⚠️ Lỗi khi thêm cột: {e}")
483
 
484
- # Tạo tài khoản admin mặc định nếu chưa có
485
  try:
 
 
 
 
486
  admin_user = User.query.filter_by(username='admin').first()
487
  if not admin_user:
488
- admin_user = User(username='admin', is_admin=True)
489
- admin_user.set_password('123456')
490
- db.session.add(admin_user)
491
- db.session.commit()
492
- print("✅ Đã tạo tài khoản admin mặc định (username: admin, password: 123456)")
 
 
 
 
493
  else:
494
  # Cập nhật user admin hiện có thành admin nếu chưa
495
  if not admin_user.is_admin:
496
  admin_user.is_admin = True
497
  db.session.commit()
498
  print("✅ Đã cập nhật tài khoản admin hiện có")
 
 
499
  except Exception as e:
500
- print(f"⚠️ Lỗi khi tạo/cập nhật admin: {e}")
501
 
502
  print("✅ Database đã sẵn sàng!")
 
 
 
 
 
 
 
 
503
 
504
  @app.route("/analyze-csv", methods=["POST"])
505
  @login_required
@@ -667,6 +693,10 @@ def analyze_csv():
667
  try:
668
  db.session.commit()
669
  print(f"✅ Đã lưu {processed_count} feedback vào database")
 
 
 
 
670
  except Exception as commit_error:
671
  db.session.rollback()
672
  print(f"❌ Lỗi khi commit database: {commit_error}")
 
144
  user.set_password(form.password.data)
145
  db.session.add(user)
146
  db.session.commit()
147
+
148
+ # Backup database after user registration
149
+ backup_database()
150
+
151
  flash('Đăng ký thành công! Vui lòng đăng nhập.', 'success')
152
  return redirect(url_for('login'))
153
 
 
418
  )
419
  db.session.add(feedback)
420
  db.session.commit()
421
+
422
+ # Backup database after adding feedback
423
+ backup_database()
424
+
425
  except Exception as db_error:
426
  print(f"Database error: {db_error}")
427
  # Không dừng quá trình nếu lưu DB thất bại
 
489
  except Exception as e:
490
  print(f"⚠️ Lỗi khi thêm cột: {e}")
491
 
492
+ # Tạo tài khoản admin mặc định nếu chưa có (chỉ khi database trống)
493
  try:
494
+ # Kiểm tra xem có user nào trong database không
495
+ total_users = User.query.count()
496
+ print(f"📊 Total users in database: {total_users}")
497
+
498
  admin_user = User.query.filter_by(username='admin').first()
499
  if not admin_user:
500
+ # Chỉ tạo admin nếu database hoàn toàn trống
501
+ if total_users == 0:
502
+ admin_user = User(username='admin', is_admin=True)
503
+ admin_user.set_password('123456')
504
+ db.session.add(admin_user)
505
+ db.session.commit()
506
+ print("✅ Đã tạo tài khoản admin mặc định (username: admin, password: 123456)")
507
+ else:
508
+ print("ℹ️ Database có dữ liệu từ backup, không tạo admin mặc định")
509
  else:
510
  # Cập nhật user admin hiện có thành admin nếu chưa
511
  if not admin_user.is_admin:
512
  admin_user.is_admin = True
513
  db.session.commit()
514
  print("✅ Đã cập nhật tài khoản admin hiện có")
515
+ else:
516
+ print("✅ Admin user đã tồn tại")
517
  except Exception as e:
518
+ print(f"⚠️ Lỗi khi xử tài khoản admin: {e}")
519
 
520
  print("✅ Database đã sẵn sàng!")
521
+
522
+ # Backup lại sau khi có thay đổi
523
+ if total_users > 0:
524
+ print("🔄 Backing up restored database...")
525
+ if backup_database():
526
+ print("✅ Restored database backed up successfully")
527
+ else:
528
+ print("⚠️ Failed to backup restored database")
529
 
530
  @app.route("/analyze-csv", methods=["POST"])
531
  @login_required
 
693
  try:
694
  db.session.commit()
695
  print(f"✅ Đã lưu {processed_count} feedback vào database")
696
+
697
+ # Backup database after CSV processing
698
+ backup_database()
699
+
700
  except Exception as commit_error:
701
  db.session.rollback()
702
  print(f"❌ Lỗi khi commit database: {commit_error}")