Добавлены комментарии для начинающих по настройке БД и WAL
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
|
||||
module ClashDeckGenerator2
|
||||
class Settings < Hanami::Settings
|
||||
# Главный URL базы данных для приложения.
|
||||
#
|
||||
# Берётся из переменной окружения DATABASE_URL (см. .env).
|
||||
# Пример для текущего проекта: sqlite://db/db.sqlite3
|
||||
#
|
||||
# Важно: Hanami CLI использует это значение в командах db prepare/migrate.
|
||||
setting :database_url, constructor: Types::String
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user