Files
discourse/migrations/lib/database/intermediate_db/user_suspension.rb
Gerhard Schlager 17ba19c7ae REFACTOR: Code generator for migrations IntemerdiateDB
* Splits the existing script into multiple classes
* Adds command for generating IntermediateDB schema (`migrations/bin/cli schema generate`)
* Changes the syntax of the IntermediateDB schema config
* Adds validation for the schema config
* It uses YAML schema aka JSON schema to validate the config file
* It generates the SQL schema file and Ruby classes for storing data in the IntermediateDB
2025-04-07 17:22:36 +02:00

30 lines
695 B
Ruby

# frozen_string_literal: true
module Migrations::Database::IntermediateDB
module UserSuspension
SQL = <<~SQL
INSERT INTO user_suspensions (
user_id,
suspended_at,
suspended_till,
suspended_by_id,
reason
)
VALUES (
?, ?, ?, ?, ?
)
SQL
def self.create(user_id:, suspended_at:, suspended_till: nil, suspended_by_id: nil, reason: nil)
::Migrations::Database::IntermediateDB.insert(
SQL,
user_id,
::Migrations::Database.format_datetime(suspended_at),
::Migrations::Database.format_datetime(suspended_till),
suspended_by_id,
reason,
)
end
end
end