@@ -3,34 +3,34 @@ require "pg"
33module Invidious::Database
44 extend self
55
6- def check_enum (db, enum_name, struct_type = nil )
6+ def check_enum (enum_name, struct_type = nil )
77 return # TODO
88
9- if ! db .query_one?(" SELECT true FROM pg_type WHERE typname = $1" , enum_name, as: Bool )
9+ if ! PG_DB .query_one?(" SELECT true FROM pg_type WHERE typname = $1" , enum_name, as: Bool )
1010 LOGGER .info(" check_enum: CREATE TYPE #{ enum_name } " )
1111
12- db .using_connection do |conn |
12+ PG_DB .using_connection do |conn |
1313 conn.as(PG ::Connection ).exec_all(File .read(" config/sql/#{ enum_name } .sql" ))
1414 end
1515 end
1616 end
1717
18- def check_table (db, table_name, struct_type = nil )
18+ def check_table (table_name, struct_type = nil )
1919 # Create table if it doesn't exist
2020 begin
21- db .exec(" SELECT * FROM #{ table_name } LIMIT 0" )
21+ PG_DB .exec(" SELECT * FROM #{ table_name } LIMIT 0" )
2222 rescue ex
2323 LOGGER .info(" check_table: check_table: CREATE TABLE #{ table_name } " )
2424
25- db .using_connection do |conn |
25+ PG_DB .using_connection do |conn |
2626 conn.as(PG ::Connection ).exec_all(File .read(" config/sql/#{ table_name } .sql" ))
2727 end
2828 end
2929
3030 return if ! struct_type
3131
3232 struct_array = struct_type.type_array
33- column_array = get_column_array(db , table_name)
33+ column_array = get_column_array(PG_DB , table_name)
3434 column_types = File .read(" config/sql/#{ table_name } .sql" ).match(/CREATE TABLE public\. #{ table_name } \n\( (?<types>[\d\D ] *?) \) ;/ )
3535 .try & .[" types" ].split(" ," ).map(& .strip).reject & .starts_with?(" CONSTRAINT" )
3636
@@ -41,14 +41,14 @@ module Invidious::Database
4141 if ! column_array[i]?
4242 new_column = column_types.select(& .starts_with?(name))[0 ]
4343 LOGGER .info(" check_table: ALTER TABLE #{ table_name } ADD COLUMN #{ new_column } " )
44- db .exec(" ALTER TABLE #{ table_name } ADD COLUMN #{ new_column } " )
44+ PG_DB .exec(" ALTER TABLE #{ table_name } ADD COLUMN #{ new_column } " )
4545 next
4646 end
4747
4848 # Column doesn't exist
4949 if ! column_array.includes? name
5050 new_column = column_types.select(& .starts_with?(name))[0 ]
51- db .exec(" ALTER TABLE #{ table_name } ADD COLUMN #{ new_column } " )
51+ PG_DB .exec(" ALTER TABLE #{ table_name } ADD COLUMN #{ new_column } " )
5252 end
5353
5454 # Column exists but in the wrong position, rotate
@@ -59,29 +59,29 @@ module Invidious::Database
5959 # There's a column we didn't expect
6060 if ! new_column
6161 LOGGER .info(" check_table: ALTER TABLE #{ table_name } DROP COLUMN #{ column_array[i] } " )
62- db .exec(" ALTER TABLE #{ table_name } DROP COLUMN #{ column_array[i] } CASCADE" )
62+ PG_DB .exec(" ALTER TABLE #{ table_name } DROP COLUMN #{ column_array[i] } CASCADE" )
6363
64- column_array = get_column_array(db , table_name)
64+ column_array = get_column_array(PG_DB , table_name)
6565 next
6666 end
6767
6868 LOGGER .info(" check_table: ALTER TABLE #{ table_name } ADD COLUMN #{ new_column } " )
69- db .exec(" ALTER TABLE #{ table_name } ADD COLUMN #{ new_column } " )
69+ PG_DB .exec(" ALTER TABLE #{ table_name } ADD COLUMN #{ new_column } " )
7070
7171 LOGGER .info(" check_table: UPDATE #{ table_name } SET #{ column_array[i] } _new=#{ column_array[i] } " )
72- db .exec(" UPDATE #{ table_name } SET #{ column_array[i] } _new=#{ column_array[i] } " )
72+ PG_DB .exec(" UPDATE #{ table_name } SET #{ column_array[i] } _new=#{ column_array[i] } " )
7373
7474 LOGGER .info(" check_table: ALTER TABLE #{ table_name } DROP COLUMN #{ column_array[i] } CASCADE" )
75- db .exec(" ALTER TABLE #{ table_name } DROP COLUMN #{ column_array[i] } CASCADE" )
75+ PG_DB .exec(" ALTER TABLE #{ table_name } DROP COLUMN #{ column_array[i] } CASCADE" )
7676
7777 LOGGER .info(" check_table: ALTER TABLE #{ table_name } RENAME COLUMN #{ column_array[i] } _new TO #{ column_array[i] } " )
78- db .exec(" ALTER TABLE #{ table_name } RENAME COLUMN #{ column_array[i] } _new TO #{ column_array[i] } " )
78+ PG_DB .exec(" ALTER TABLE #{ table_name } RENAME COLUMN #{ column_array[i] } _new TO #{ column_array[i] } " )
7979
80- column_array = get_column_array(db , table_name)
80+ column_array = get_column_array(PG_DB , table_name)
8181 end
8282 else
8383 LOGGER .info(" check_table: ALTER TABLE #{ table_name } DROP COLUMN #{ column_array[i] } CASCADE" )
84- db .exec(" ALTER TABLE #{ table_name } DROP COLUMN #{ column_array[i] } CASCADE" )
84+ PG_DB .exec(" ALTER TABLE #{ table_name } DROP COLUMN #{ column_array[i] } CASCADE" )
8585 end
8686 end
8787 end
@@ -91,14 +91,14 @@ module Invidious::Database
9191 column_array.each do |column |
9292 if ! struct_array.includes? column
9393 LOGGER .info(" check_table: ALTER TABLE #{ table_name } DROP COLUMN #{ column } CASCADE" )
94- db .exec(" ALTER TABLE #{ table_name } DROP COLUMN #{ column } CASCADE" )
94+ PG_DB .exec(" ALTER TABLE #{ table_name } DROP COLUMN #{ column } CASCADE" )
9595 end
9696 end
9797 end
9898
9999 def get_column_array (db, table_name)
100100 column_array = [] of String
101- db .query(" SELECT * FROM #{ table_name } LIMIT 0" ) do |rs |
101+ PG_DB .query(" SELECT * FROM #{ table_name } LIMIT 0" ) do |rs |
102102 rs.column_count.times do |i |
103103 column = rs.as(PG ::ResultSet ).field(i)
104104 column_array << column.name
0 commit comments