mirror of
				https://gitea.invidious.io/iv-org/invidious
				synced 2025-06-05 23:29:12 +02:00 
			
		
		
		
	Automatically recreate views with outdated schema
This commit is contained in:
		| @@ -129,6 +129,14 @@ def refresh_feeds(db, logger, max_threads = 1) | |||||||
|           active_threads += 1 |           active_threads += 1 | ||||||
|           spawn do |           spawn do | ||||||
|             begin |             begin | ||||||
|  |               db.query("SELECT * FROM #{view_name} LIMIT 1") do |rs| | ||||||
|  |                 # View doesn't contain same number of rows as ChannelVideo | ||||||
|  |                 if ChannelVideo.from_rs(rs)[0]?.try &.to_a.size.try &.!= rs.column_count | ||||||
|  |                   db.exec("DROP MATERIALIZED VIEW #{view_name}") | ||||||
|  |                   raise "valid schema does not exist" | ||||||
|  |                 end | ||||||
|  |               end | ||||||
|  |  | ||||||
|               db.exec("REFRESH MATERIALIZED VIEW #{view_name}") |               db.exec("REFRESH MATERIALIZED VIEW #{view_name}") | ||||||
|             rescue ex |             rescue ex | ||||||
|               # Create view if it doesn't exist |               # Create view if it doesn't exist | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user