mirror of
https://gh.wpcy.net/https://github.com/discourse/discourse.git
synced 2026-05-07 02:22:49 +08:00
- Replace the YAML-based schema configuration with a Ruby DSL for defining intermediate database schemas - Add table builders, conventions, enums, ignored tables, and output config as composable DSL files in `migrations/config/schema/` - Implement schema resolver that combines DSL config with database introspection to produce resolved schemas - Add generator that produces SQL schema, Ruby models, and enum files from the resolved schema - Add scaffolder for bootstrapping new table configs and differ for comparing config against the database - Add plugin manifest and introspection system to auto-detect plugin-owned columns - Rewrite all schema CLI commands (`add`, `validate`, `diff`, `generate`, `list`, `ignore`, `refresh-plugins`) to use DSL infrastructure - Add comprehensive specs and documentation (`migrations/docs/schema-configuration.md`) - Remove old YAML config, JSON schema, and validation infrastructure
13 lines
249 B
Ruby
13 lines
249 B
Ruby
# frozen_string_literal: true
|
|
|
|
Migrations::Database::Schema.conventions do
|
|
column :id do
|
|
rename_to :original_id
|
|
type :integer
|
|
required
|
|
end
|
|
|
|
columns_matching(/_at$/) { type :datetime }
|
|
|
|
ignore_columns :created_by, :updated_by
|
|
end
|