import 'dart:convert';
import 'dart:io';
import 'package:args/command_runner.dart';
import 'package:dart_style/dart_style.dart';
import 'package:path/path.dart' as p;
import '../../../analysis/results/file_results.dart';
import '../../../analysis/results/results.dart';
import '../../../analyzer/options.dart';
import '../../../services/schema/schema_files.dart';
import '../../../writer/database_writer.dart';
import '../../../writer/import_manager.dart';
import '../../../writer/writer.dart';
import '../../cli.dart';
class GenerateUtilsCommand extends Command {
final MoorCli cli;
GenerateUtilsCommand(this.cli) {
argParser.addFlag(
'data-classes',
defaultsTo: false,
help: 'Whether to generate data classes for each schema version.',
);
argParser.addFlag(
'companions',
defaultsTo: false,
help: 'Whether to generate companions for each schema version.',
);
}
@override
String get description {
return 'Generate Dart code to help verify schema migrations.';
}
@override
String get name => 'generate';
@override
String get invocation {
return '${runner!.executableName} schema generate