Module: Jetski::Database::Interface
Instance Method Summary collapse
- #add_column(table_name, field_name, data_type = "string") ⇒ Object
- #add_column_unless_exists(table_name, field_name, data_type = nil) ⇒ Object
- #create_table(table_name, *fields) ⇒ Object
- #create_table_unless_exists(table_name, *fields) ⇒ Object
- #field_exists?(table_name, field_name) ⇒ Boolean
- #table_exists?(table_name) ⇒ Boolean
Instance Method Details
#add_column(table_name, field_name, data_type = "string") ⇒ Object
11 12 13 |
# File 'lib/jetski/database/interface.rb', line 11 def add_column(table_name, field_name, data_type = "string") db.execute("ALTER TABLE #{table_name} ADD #{field_name} #{sql_data_type(data_type)}") end |
#add_column_unless_exists(table_name, field_name, data_type = nil) ⇒ Object
19 20 21 |
# File 'lib/jetski/database/interface.rb', line 19 def add_column_unless_exists(table_name, field_name, data_type = nil) add_column(table_name, field_name, data_type) if !field_exists?(table_name, field_name) end |
#create_table(table_name, *fields) ⇒ Object
7 8 9 |
# File 'lib/jetski/database/interface.rb', line 7 def create_table(table_name, *fields) db.execute create_table_sql(table_name: table_name, field_names: fields) end |
#create_table_unless_exists(table_name, *fields) ⇒ Object
15 16 17 |
# File 'lib/jetski/database/interface.rb', line 15 def create_table_unless_exists(table_name, *fields) create_table(table_name, *fields) if !table_exists?(table_name) end |
#field_exists?(table_name, field_name) ⇒ Boolean
27 28 29 30 |
# File 'lib/jetski/database/interface.rb', line 27 def field_exists?(table_name, field_name) table_info = db.execute("PRAGMA table_info(#{table_name})") table_info.find { |d| d[1] == field_name.to_s } != nil end |
#table_exists?(table_name) ⇒ Boolean
23 24 25 |
# File 'lib/jetski/database/interface.rb', line 23 def table_exists?(table_name) db.get_first_value("SELECT name FROM sqlite_master WHERE type='table' AND name=?", table_name) end |