Добавлены комментарии для начинающих по настройке БД и WAL

This commit is contained in:
2026-03-04 02:46:02 +05:00
parent 9bfc6e668f
commit b99c3f19bc
3 changed files with 24 additions and 0 deletions

View File

@@ -1,14 +1,23 @@
Sequel.migration do
change do
# Создаём таблицу карт.
#
# `change` здесь удобен тем, что Sequel умеет автоматически
# откатить `create_table` при rollback.
create_table :cards do
primary_key :id
# Базовые поля карточки
column :name, String, null: false
column :elixir_cost, Integer, null: false
column :rarity, String
column :type, String
# 0/1 флаг: карточка в актуальной мете или нет.
# Можно позже заменить на true/false, если решим хранить boolean.
column :is_meta, Integer, default: 0
# Технические таймстемпы для аудита и сортировки
column :created_at, DateTime, null: false, default: Sequel::CURRENT_TIMESTAMP
column :updated_at, DateTime, null: false, default: Sequel::CURRENT_TIMESTAMP
end

View File

@@ -1,11 +1,20 @@
Sequel.migration do
up do
# WAL (Write-Ahead Logging) обычно лучше для веб-приложений:
# - чтение и запись меньше блокируют друг друга
# - выше стабильность под параллельной нагрузкой
run "PRAGMA journal_mode = WAL;"
# Нормальный компромисс между скоростью и надёжностью на dev/staging.
# Для максимально консервативного режима можно использовать FULL.
run "PRAGMA synchronous = NORMAL;"
end
down do
# Откат к классическому режиму журнала SQLite.
run "PRAGMA journal_mode = DELETE;"
# Более строгая синхронизация при откате настроек.
run "PRAGMA synchronous = FULL;"
end
end