원클릭으로
atomicupdate
Create a new Koha atomicupdate file for a bug. Arguments: bug number (e.g. 12345) and a short description of the DB change.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Create a new Koha atomicupdate file for a bug. Arguments: bug number (e.g. 12345) and a short description of the DB change.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
File a Koha bug on bugs.koha-community.org and attach commits non-interactively via git bz. Use when the user wants to submit a patch, file a bug, or open a bz/Bugzilla ticket for Koha. Arguments (optional, free-form): summary or component hints. Without args, derive details from the current branch and HEAD commits.
Build Koha frontend assets (CSS, JS, OpenAPI spec) inside the KTD container. Use after editing SCSS, Vue components, or api/v1/swagger/*.yaml. After swagger changes you must also run restart_all to reload services — yarn build alone is not enough.
Run Koha Cypress end-to-end tests. Cypress runs from the HOST (not the KTD container) — KTD exposes the staff/OPAC interfaces on localhost and Cypress drives a real browser. Pass a spec path or directory under t/cypress/integration/.
Run Koha Perl tests inside the KTD container. Pass a test file or directory path (relative to the Koha repo root, or absolute). Handles both t/ and t/db_dependent/ automatically.
Run the Koha QA script (koha-qa.pl) inside KTD before submitting patches. Surfaces critic, POD, file_permissions, tinyint_has_boolean_flag, and other QA failures the community reviewers will check. Run after every commit; fix flagged issues before pushing.
Apply a Koha DB schema change end-to-end after editing kohastructure.sql and the atomicupdate file. Runs updatedatabase.pl in KTD, regenerates DBIC schema with dbic --force, and reminds about the manual is_boolean / relationship edits below the marker line. Use this after the atomicupdate skill has scaffolded the file and the SQL is filled in.
| name | atomicupdate |
| description | Create a new Koha atomicupdate file for a bug. Arguments: bug number (e.g. 12345) and a short description of the DB change. |
Create an atomicupdate file for Koha bug $ARGUMENTS.
Steps:
installer/data/mysql/atomicupdate/bug_BUGNUMBER.pl using the skeleton below.BUG_NUMBER with the actual bug number and DESCRIPTION with the description.$dbh->do(q{}) placeholder in place — the user will fill in the actual SQL.chmod +x installer/data/mysql/atomicupdate/bug_BUGNUMBER.pl (Koha QA's file_permissions check enforces this).Skeleton (based on installer/data/mysql/atomicupdate/skeleton.pl):
use Modern::Perl;
use Koha::Installer::Output qw(say_warning say_success say_info);
return {
bug_number => "BUG_NUMBER",
description => "DESCRIPTION",
up => sub {
my ($args) = @_;
my ( $dbh, $out ) = @$args{qw(dbh out)};
# Add your DB changes here
$dbh->do(q{});
say_success( $out, "Done" );
},
};
After the user fills in the SQL, remind them of the wider workflow:
installer/data/mysql/kohastructure.sql to match.perl installer/data/mysql/updatedatabase.pl.dbic --force inside KTD.tinyint(1) columns that semantically represent yes/no flags, add '+colname' => { is_boolean => 1 } to the Result module BELOW the # DO NOT MODIFY THIS OR ANYTHING ABOVE! line (QA SQL12 / tinyint_has_boolean_flag).Bug XXXXX: Automated Schema Update, then commit any manual is_boolean / relationship additions as a separate commit.