mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-21 17:30:58 +08:00
* 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
18 lines
505 B
Ruby
Vendored
18 lines
505 B
Ruby
Vendored
# frozen_string_literal: true
|
|
|
|
module Migrations::Database::Schema::Validation
|
|
class SchemaConfigValidator
|
|
def initialize(config, errors)
|
|
@config = config
|
|
@errors = errors
|
|
end
|
|
|
|
def validate
|
|
ActiveRecord::Base.with_connection do |db|
|
|
GloballyExcludedTablesValidator.new(@config, @errors, db).validate
|
|
GloballyConfiguredColumnsValidator.new(@config, @errors, db).validate
|
|
TablesValidator.new(@config, @errors, db).validate
|
|
end
|
|
end
|
|
end
|
|
end
|