mirror of
https://github.com/discourse/discourse.git
synced 2025-05-28 13:51:18 +08:00
DEV: Add converter framework for migrations-tooling (#28540)
* Updates GitHub Actions * Switches from `bundler/inline` to an optional group in the `Gemfile` because the previous solution didn't work well with rspec * Adds the converter framework and tests * Allows loading private converters (see README) * Switches from multiple CLI tools to a single CLI * Makes DB connections reusable and adds a new abstraction for the `IntermediateDB` * `IntermediateDB` acts as an interface for IPC calls when a converter steps runs in parallel (forks). Only the main process writes to the DB. * Includes a simple example implementation of a converter for now.
This commit is contained in:
@ -5,7 +5,7 @@ require "bundler/inline"
|
||||
|
||||
gemfile(true) do
|
||||
source "https://rubygems.org"
|
||||
gem "extralite-bundle", github: "digital-fabric/extralite"
|
||||
gem "extralite-bundle"
|
||||
end
|
||||
|
||||
require "etc"
|
||||
@ -43,7 +43,7 @@ def with_db_path
|
||||
yield tempfile.path
|
||||
|
||||
db = create_extralite_db(tempfile.path)
|
||||
row_count = db.query_single_value("SELECT COUNT(*) FROM users")
|
||||
row_count = db.query_single_splat("SELECT COUNT(*) FROM users")
|
||||
puts "Row count: #{row_count}" if row_count != ROW_COUNT
|
||||
db.close
|
||||
ensure
|
||||
|
Reference in New Issue
Block a user