/
frekke
/
mostlogistic
Обзор
Документация
Войти
/
frekke
/
mostlogistic
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lib/database.rb
53 строки
2 KB
frekke
fixes
31 янв 2026, 04:12
31 янв 2026, 04:12
3908992
Код
Авторство
О чём код?
# frozen_string_literal: true require 'sequel' class Database def self.setup url = ENV['DATABASE_URL'] @db = Sequel.connect(url) begin @db.create_table? :applications do primary_key :id Bignum :chat_id String :supplier_name String :phone String :telegram_tag String :payment_method String :marketplace String :delivery_type String :pickup_date String :pickup_time String :pickup_address String :boxes_pallets TrueClass :requires_pallet TrueClass :requires_palleting String :weight String :unload_warehouse String :delivery_to_warehouse_date String :delivery_slot_time String :status, default: 'new' DateTime :created_at, default: Sequel::CURRENT_TIMESTAMP end puts "✅ База данных: Таблицы проверены" rescue PG::InsufficientPrivilege => e puts "\n" + "!" * 60 puts "❌ ОШИБКА ПОДКЛЮЧЕНИЯ К POSTGRES" puts "У пользователя базы данных нет прав на создание таблиц в схеме 'public'." puts "\n💡 РЕШЕНИЕ: Выполните команду в терминале:" puts "docker-compose exec db psql -U most -d mostdb -c \"GRANT ALL ON SCHEMA public TO public;\"" puts "!" * 60 + "\n" raise e rescue => e puts "❌ Непредвиденная ошибка БД: #{e.message}" raise e end end def self.save_application(chat_id, form) return unless @db @db[:applications].insert(form.to_h.merge(chat_id: chat_id, created_at: Time.now)) rescue => e puts "⚠️ Ошибка записи в БД: #{e.message}" end end