b307f66f2c
Projects: Brick-backed model with list/detail screens and nav entry. Work Logs: per-contributor time ledger, assignee running-clock + helper logged minutes with Hours/Minutes input; pause-after-save and helper-deduct prompts. Comments: threaded comments with file attachments and Quill composer. Detail screen: tabbed layout (Work Log / Comments / Activity), editable title + description via edit dialog, Quill-rendered descriptions with legacy plain-text fallback. Create dialog: fixed-width (480px max), Quill description editor. Shared QuillFieldEditor + QuillReadOnly widgets extracted for reuse. RLS: hardened activity-log actor binding, immutable creator_id/ created_at triggers, SECURITY INVOKER visibility helper, append-only work-log and scoped comment policies. Brick migration for project_id FK on programmer_tasks. Co-Authored-By: claude-flow <ruv@ruv.net>
55 lines
2.2 KiB
Dart
55 lines
2.2 KiB
Dart
// GENERATED CODE EDIT WITH CAUTION
|
|
// THIS FILE **WILL NOT** BE REGENERATED
|
|
// This file should be version controlled and can be manually edited.
|
|
part of 'schema.g.dart';
|
|
|
|
// While migrations are intelligently created, the difference between some commands, such as
|
|
// DropTable vs. RenameTable, cannot be determined. For this reason, please review migrations after
|
|
// they are created to ensure the correct inference was made.
|
|
|
|
// The migration version must **always** mirror the file name
|
|
|
|
const List<MigrationCommand> _migration_20260927030348_up = [
|
|
InsertTable('ProgrammerProject'),
|
|
InsertColumn('id', Column.varchar, onTable: 'ProgrammerProject'),
|
|
InsertColumn('name', Column.varchar, onTable: 'ProgrammerProject'),
|
|
InsertColumn('description', Column.varchar, onTable: 'ProgrammerProject'),
|
|
InsertColumn('status', Column.varchar, onTable: 'ProgrammerProject'),
|
|
InsertColumn('creator_id', Column.varchar, onTable: 'ProgrammerProject'),
|
|
InsertColumn('created_at', Column.datetime, onTable: 'ProgrammerProject'),
|
|
InsertColumn('updated_at', Column.datetime, onTable: 'ProgrammerProject'),
|
|
InsertColumn('is_archived', Column.boolean, onTable: 'ProgrammerProject'),
|
|
InsertColumn('project_id', Column.varchar, onTable: 'ProgrammerTask')
|
|
];
|
|
|
|
const List<MigrationCommand> _migration_20260927030348_down = [
|
|
DropTable('ProgrammerProject'),
|
|
DropColumn('id', onTable: 'ProgrammerProject'),
|
|
DropColumn('name', onTable: 'ProgrammerProject'),
|
|
DropColumn('description', onTable: 'ProgrammerProject'),
|
|
DropColumn('status', onTable: 'ProgrammerProject'),
|
|
DropColumn('creator_id', onTable: 'ProgrammerProject'),
|
|
DropColumn('created_at', onTable: 'ProgrammerProject'),
|
|
DropColumn('updated_at', onTable: 'ProgrammerProject'),
|
|
DropColumn('is_archived', onTable: 'ProgrammerProject'),
|
|
DropColumn('project_id', onTable: 'ProgrammerTask')
|
|
];
|
|
|
|
//
|
|
// DO NOT EDIT BELOW THIS LINE
|
|
//
|
|
|
|
@Migratable(
|
|
version: '20260927030348',
|
|
up: _migration_20260927030348_up,
|
|
down: _migration_20260927030348_down,
|
|
)
|
|
class Migration20260927030348 extends Migration {
|
|
const Migration20260927030348()
|
|
: super(
|
|
version: 20260927030348,
|
|
up: _migration_20260927030348_up,
|
|
down: _migration_20260927030348_down,
|
|
);
|
|
}
|