From fff32e9469f979ec3390bd4500bc8977e68621b2 Mon Sep 17 00:00:00 2001 From: wxiaoguang Date: Mon, 20 Jul 2026 11:42:02 +0800 Subject: [PATCH] refactor: prepare to decouple the "model migration" package and "models" package (#38533) Migrations should never use model structs directly, because the model structs can be different in different releases. e.g. if one migration uses "User" model, it works in the early releases, then one day, when the User model changes, the migration breaks because it will use the new (incorrect) User model, it should only use the old User model. The same to "modules/structs". --------- Signed-off-by: wxiaoguang Co-authored-by: delvh --- .air.toml | 2 +- .golangci.yml | 7 +- Makefile | 6 +- cmd/doctor.go | 8 +-- docs/build-source.md | 8 +-- docs/development.md | 2 +- docs/guidelines-backend.md | 2 +- docs/testing.md | 2 +- .../migrations => modelmigration}/base/db.go | 21 ++++-- .../base/db_test.go | 9 +-- .../base/hash.go | 0 .../issue_user.yml | 0 .../oauth2_application.yml | 0 .../expected_webhook.yml | 0 .../hook_task.yml | 0 .../webhook.yml | 0 .../Test_AddIssueResourceIndexTable/issue.yml | 0 .../attachment.yml | 0 .../Test_AddRepoIDForAttachment/issue.yml | 0 .../Test_AddRepoIDForAttachment/release.yml | 0 .../project_issue.yml | 0 .../project.yml | 0 .../project_board.yml | 0 .../issue_label.yml | 0 .../Test_DeleteOrphanedIssueLabels/label.yml | 0 .../action_run.yml | 0 .../action_run_job.yml | 0 .../commit_status.yml | 0 .../commit_status_summary.yml | 0 .../repository.yml | 0 .../expected_webauthn_credential.yml | 0 .../u2f_registration.yml | 0 .../webauthn_credential.yml | 0 .../Test_RemoveInvalidLabels/comment.yml | 0 .../Test_RemoveInvalidLabels/issue.yml | 0 .../Test_RemoveInvalidLabels/issue_label.yml | 0 .../Test_RemoveInvalidLabels/label.yml | 0 .../Test_RemoveInvalidLabels/repository.yml | 0 .../Test_RepositoryFormat/comment.yml | 0 .../Test_RepositoryFormat/commit_status.yml | 0 .../Test_RepositoryFormat/pull_request.yml | 0 .../Test_RepositoryFormat/release.yml | 0 .../Test_RepositoryFormat/repo_archiver.yml | 0 .../repo_indexer_status.yml | 0 .../Test_RepositoryFormat/repository.yml | 0 .../Test_RepositoryFormat/review_state.yml | 0 .../expected_webauthn_credential.yml | 0 .../webauthn_credential.yml | 0 .../Test_UnwrapLDAPSourceCfg/login_source.yml | 0 .../Test_UpdateBadgeColName/badge.yml | 0 .../expected_milestone.yml | 0 .../Test_UpdateOpenMilestoneCounts/issue.yml | 0 .../milestone.yml | 0 .../migrations.go | 69 ++++++++++--------- .../migrations_test.go | 2 +- .../migrationtest/tests.go | 9 +-- .../v1_10/v100.go | 4 +- .../v1_10/v101.go | 4 +- .../v1_10/v88.go | 4 +- .../v1_10/v89.go | 4 +- .../v1_10/v90.go | 4 +- .../v1_10/v91.go | 4 +- .../v1_10/v92.go | 4 +- .../v1_10/v93.go | 4 +- .../v1_10/v94.go | 4 +- .../v1_10/v95.go | 4 +- .../v1_10/v96.go | 4 +- .../v1_10/v97.go | 4 +- .../v1_10/v98.go | 4 +- .../v1_10/v99.go | 4 +- .../v1_11/v102.go | 5 +- .../v1_11/v103.go | 4 +- .../v1_11/v104.go | 5 +- .../v1_11/v105.go | 4 +- .../v1_11/v106.go | 4 +- .../v1_11/v107.go | 4 +- .../v1_11/v108.go | 4 +- .../v1_11/v109.go | 4 +- .../v1_11/v110.go | 4 +- .../v1_11/v111.go | 8 +-- .../v1_11/v112.go | 4 +- .../v1_11/v113.go | 4 +- .../v1_11/v114.go | 4 +- .../v1_11/v115.go | 4 +- .../v1_11/v116.go | 4 +- .../v1_12/v117.go | 4 +- .../v1_12/v118.go | 4 +- .../v1_12/v119.go | 4 +- .../v1_12/v120.go | 4 +- .../v1_12/v121.go | 4 +- .../v1_12/v122.go | 4 +- .../v1_12/v123.go | 4 +- .../v1_12/v124.go | 4 +- .../v1_12/v125.go | 4 +- .../v1_12/v126.go | 4 +- .../v1_12/v127.go | 4 +- .../v1_12/v128.go | 6 +- .../v1_12/v129.go | 4 +- .../v1_12/v130.go | 4 +- .../v1_12/v131.go | 4 +- .../v1_12/v132.go | 4 +- .../v1_12/v133.go | 4 +- .../v1_12/v134.go | 6 +- .../v1_12/v135.go | 4 +- .../v1_12/v136.go | 4 +- .../v1_12/v137.go | 4 +- .../v1_12/v138.go | 4 +- .../v1_12/v139.go | 4 +- .../v1_13/v140.go | 7 +- .../v1_13/v141.go | 4 +- .../v1_13/v142.go | 4 +- .../v1_13/v143.go | 4 +- .../v1_13/v144.go | 4 +- .../v1_13/v145.go | 10 +-- .../v1_13/v146.go | 4 +- .../v1_13/v147.go | 4 +- .../v1_13/v148.go | 4 +- .../v1_13/v149.go | 4 +- .../v1_13/v150.go | 9 ++- .../v1_13/v151.go | 4 +- .../v1_13/v152.go | 4 +- .../v1_13/v153.go | 4 +- .../v1_13/v154.go | 4 +- .../v1_14/main_test.go | 2 +- .../v1_14/v155.go | 4 +- .../v1_14/v156.go | 4 +- .../v1_14/v157.go | 4 +- .../v1_14/v158.go | 4 +- .../v1_14/v159.go | 5 +- .../v1_14/v160.go | 4 +- .../v1_14/v161.go | 5 +- .../v1_14/v162.go | 5 +- .../v1_14/v163.go | 5 +- .../v1_14/v164.go | 4 +- .../v1_14/v165.go | 5 +- .../v1_14/v166.go | 4 +- .../v1_14/v167.go | 4 +- .../v1_14/v168.go | 4 +- .../v1_14/v169.go | 4 +- .../v1_14/v170.go | 4 +- .../v1_14/v171.go | 4 +- .../v1_14/v172.go | 4 +- .../v1_14/v173.go | 4 +- .../v1_14/v174.go | 4 +- .../v1_14/v175.go | 4 +- .../v1_14/v176.go | 4 +- .../v1_14/v176_test.go | 2 +- .../v1_14/v177.go | 4 +- .../v1_14/v177_test.go | 2 +- .../v1_15/main_test.go | 2 +- .../v1_15/v178.go | 4 +- .../v1_15/v179.go | 5 +- .../v1_15/v180.go | 4 +- .../v1_15/v181.go | 4 +- .../v1_15/v181_test.go | 2 +- .../v1_15/v182.go | 4 +- .../v1_15/v182_test.go | 2 +- .../v1_15/v183.go | 4 +- .../v1_15/v184.go | 5 +- .../v1_15/v185.go | 4 +- .../v1_15/v186.go | 4 +- .../v1_15/v187.go | 5 +- .../v1_15/v188.go | 4 +- .../v1_16/main_test.go | 2 +- .../v1_16/v189.go | 5 +- .../v1_16/v189_test.go | 2 +- .../v1_16/v190.go | 4 +- .../v1_16/v191.go | 4 +- .../v1_16/v192.go | 5 +- .../v1_16/v193.go | 4 +- .../v1_16/v193_test.go | 2 +- .../v1_16/v194.go | 4 +- .../v1_16/v195.go | 4 +- .../v1_16/v195_test.go | 2 +- .../v1_16/v196.go | 4 +- .../v1_16/v197.go | 4 +- .../v1_16/v198.go | 4 +- .../v1_16/v199.go | 0 .../v1_16/v200.go | 4 +- .../v1_16/v201.go | 4 +- .../v1_16/v202.go | 4 +- .../v1_16/v203.go | 4 +- .../v1_16/v204.go | 4 +- .../v1_16/v205.go | 5 +- .../v1_16/v206.go | 4 +- .../v1_16/v207.go | 4 +- .../v1_16/v208.go | 4 +- .../v1_16/v209.go | 4 +- .../v1_16/v210.go | 5 +- .../v1_16/v210_test.go | 2 +- .../v1_17/main_test.go | 2 +- .../v1_17/v211.go | 4 +- .../v1_17/v212.go | 4 +- .../v1_17/v213.go | 4 +- .../v1_17/v214.go | 4 +- .../v1_17/v215.go | 4 +- .../v1_17/v216.go | 0 .../v1_17/v217.go | 4 +- .../v1_17/v218.go | 4 +- .../v1_17/v219.go | 4 +- .../v1_17/v220.go | 4 +- .../v1_17/v221.go | 4 +- .../v1_17/v221_test.go | 2 +- .../v1_17/v222.go | 5 +- .../v1_17/v223.go | 5 +- .../v1_18/main_test.go | 2 +- .../v1_18/v224.go | 4 +- .../v1_18/v225.go | 4 +- .../v1_18/v226.go | 4 +- .../v1_18/v227.go | 4 +- .../v1_18/v228.go | 4 +- .../v1_18/v229.go | 4 +- .../v1_18/v229_test.go | 2 +- .../v1_18/v230.go | 4 +- .../v1_18/v230_test.go | 2 +- .../v1_19/main_test.go | 2 +- .../v1_19/v231.go | 4 +- .../v1_19/v232.go | 4 +- .../v1_19/v233.go | 14 ++-- .../v1_19/v233_test.go | 2 +- .../v1_19/v234.go | 4 +- .../v1_19/v235.go | 4 +- .../v1_19/v236.go | 4 +- .../v1_19/v237.go | 4 +- .../v1_19/v238.go | 4 +- .../v1_19/v239.go | 4 +- .../v1_19/v240.go | 3 +- .../v1_19/v241.go | 4 +- .../v1_19/v242.go | 4 +- .../v1_19/v243.go | 4 +- .../v1_20/main_test.go | 2 +- .../v1_20/v244.go | 4 +- .../v1_20/v245.go | 5 +- .../v1_20/v246.go | 4 +- .../v1_20/v247.go | 4 +- .../v1_20/v248.go | 4 +- .../v1_20/v249.go | 4 +- .../v1_20/v250.go | 4 +- .../v1_20/v251.go | 4 +- .../v1_20/v252.go | 4 +- .../v1_20/v253.go | 4 +- .../v1_20/v254.go | 4 +- .../v1_20/v255.go | 4 +- .../v1_20/v256.go | 4 +- .../v1_20/v257.go | 4 +- .../v1_20/v258.go | 4 +- .../v1_20/v259.go | 4 +- .../v1_20/v259_test.go | 2 +- .../v1_21/main_test.go | 2 +- .../v1_21/v260.go | 5 +- .../v1_21/v261.go | 4 +- .../v1_21/v262.go | 4 +- .../v1_21/v263.go | 4 +- .../v1_21/v264.go | 3 +- .../v1_21/v265.go | 4 +- .../v1_21/v266.go | 4 +- .../v1_21/v267.go | 4 +- .../v1_21/v268.go | 4 +- .../v1_21/v269.go | 4 +- .../v1_21/v270.go | 4 +- .../v1_21/v271.go | 4 +- .../v1_21/v272.go | 4 +- .../v1_21/v273.go | 4 +- .../v1_21/v274.go | 6 +- .../v1_21/v275.go | 4 +- .../v1_21/v276.go | 8 +-- .../v1_21/v277.go | 4 +- .../v1_21/v278.go | 4 +- .../v1_21/v279.go | 4 +- .../v1_22/main_test.go | 2 +- .../v1_22/v280.go | 4 +- .../v1_22/v281.go | 4 +- .../v1_22/v282.go | 4 +- .../v1_22/v283.go | 4 +- .../v1_22/v283_test.go | 2 +- .../v1_22/v284.go | 4 +- .../v1_22/v285.go | 4 +- .../v1_22/v286.go | 8 +-- .../v1_22/v286_test.go | 6 +- .../v1_22/v287.go | 4 +- .../v1_22/v287_test.go | 2 +- .../v1_22/v288.go | 4 +- .../v1_22/v289.go | 4 +- .../v1_22/v290.go | 4 +- .../v1_22/v291.go | 4 +- .../v1_22/v292.go | 0 .../v1_22/v293.go | 6 +- .../v1_22/v293_test.go | 2 +- .../v1_22/v294.go | 4 +- .../v1_22/v294_test.go | 2 +- .../v1_22/v295.go | 4 +- .../v1_22/v296.go | 4 +- .../v1_22/v297.go | 4 +- .../v1_22/v298.go | 4 +- .../v1_23/main_test.go | 2 +- .../v1_23/v299.go | 4 +- .../v1_23/v300.go | 4 +- .../v1_23/v301.go | 4 +- .../v1_23/v302.go | 4 +- .../v1_23/v302_test.go | 2 +- .../v1_23/v303.go | 4 +- .../v1_23/v304.go | 4 +- .../v1_23/v304_test.go | 2 +- .../v1_23/v305.go | 4 +- .../v1_23/v306.go | 4 +- .../v1_23/v307.go | 4 +- .../v1_23/v308.go | 4 +- .../v1_23/v309.go | 4 +- .../v1_23/v310.go | 4 +- .../v1_23/v311.go | 4 +- .../v1_24/v312.go | 4 +- .../v1_24/v313.go | 5 +- .../v1_24/v314.go | 4 +- .../v1_24/v315.go | 4 +- .../v1_24/v316.go | 4 +- .../v1_24/v317.go | 4 +- .../v1_24/v318.go | 4 +- .../v1_24/v319.go | 4 +- .../v1_24/v320.go | 4 +- .../v1_25/main_test.go | 2 +- .../v1_25/v321.go | 5 +- .../v1_25/v321_test.go | 2 +- .../v1_25/v322.go | 5 +- .../v1_25/v322_test.go | 2 +- .../v1_26/main_test.go | 2 +- .../v1_26/v323.go | 4 +- .../v1_26/v324.go | 4 +- .../v1_26/v325.go | 4 +- .../v1_26/v325_test.go | 2 +- .../v1_26/v326.go | 12 ++-- .../v1_26/v326_test.go | 6 +- .../v1_26/v327.go | 4 +- .../v1_26/v327_test.go | 2 +- .../v1_26/v328.go | 4 +- .../v1_26/v329.go | 4 +- .../v1_26/v329_test.go | 2 +- .../v1_26/v330.go | 4 +- .../v1_27/main_test.go | 2 +- .../v1_27/v331.go | 5 +- .../v1_27/v331_test.go | 2 +- .../v1_27/v332.go | 4 +- .../v1_27/v333.go | 4 +- .../v1_27/v333_test.go | 2 +- .../v1_27/v334.go | 4 +- .../v1_27/v334_test.go | 2 +- .../v1_27/v335.go | 3 +- .../v1_27/v336.go | 4 +- .../v1_27/v337.go | 4 +- .../v1_27/v338.go | 7 +- .../v1_27/v338_test.go | 2 +- .../v1_27/v339.go | 4 +- .../v1_27/v339_test.go | 2 +- .../v1_27/v340.go | 4 +- .../v1_27/v341.go | 5 +- .../v1_27/v341_test.go | 6 +- .../v1_27/v342.go | 4 +- .../migrations => modelmigration}/v1_6/v70.go | 4 +- .../migrations => modelmigration}/v1_6/v71.go | 5 +- .../migrations => modelmigration}/v1_6/v72.go | 4 +- .../migrations => modelmigration}/v1_7/v73.go | 4 +- .../migrations => modelmigration}/v1_7/v74.go | 4 +- .../migrations => modelmigration}/v1_7/v75.go | 4 +- .../migrations => modelmigration}/v1_8/v76.go | 4 +- .../migrations => modelmigration}/v1_8/v77.go | 4 +- .../migrations => modelmigration}/v1_8/v78.go | 5 +- .../migrations => modelmigration}/v1_8/v79.go | 4 +- .../migrations => modelmigration}/v1_8/v80.go | 4 +- .../migrations => modelmigration}/v1_8/v81.go | 4 +- .../migrations => modelmigration}/v1_9/v82.go | 4 +- .../migrations => modelmigration}/v1_9/v83.go | 4 +- .../migrations => modelmigration}/v1_9/v84.go | 4 +- .../migrations => modelmigration}/v1_9/v85.go | 7 +- .../migrations => modelmigration}/v1_9/v86.go | 4 +- .../migrations => modelmigration}/v1_9/v87.go | 4 +- routers/common/db.go | 6 +- services/doctor/dbconsistency.go | 4 +- services/versioned_migration/migration.go | 4 +- .../migration-test/migration_test.go | 6 +- 378 files changed, 708 insertions(+), 721 deletions(-) rename {models/migrations => modelmigration}/base/db.go (94%) rename {models/migrations => modelmigration}/base/db_test.go (90%) rename {models/migrations => modelmigration}/base/hash.go (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddCombinedIndexToIssueUser/issue_user.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddConfidentialClientColumnToOAuth2ApplicationTable/oauth2_application.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/expected_webhook.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/hook_task.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/webhook.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddIssueResourceIndexTable/issue.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddRepoIDForAttachment/attachment.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddRepoIDForAttachment/issue.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddRepoIDForAttachment/release.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_AddUniqueIndexForProjectIssue/project_issue.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_CheckProjectColumnsConsistency/project.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_CheckProjectColumnsConsistency/project_board.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_DeleteOrphanedIssueLabels/issue_label.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_DeleteOrphanedIssueLabels/label.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run_job.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status_summary.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/repository.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RemigrateU2FCredentials/expected_webauthn_credential.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RemigrateU2FCredentials/u2f_registration.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RemigrateU2FCredentials/webauthn_credential.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RemoveInvalidLabels/comment.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RemoveInvalidLabels/issue.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RemoveInvalidLabels/issue_label.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RemoveInvalidLabels/label.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RemoveInvalidLabels/repository.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RepositoryFormat/comment.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RepositoryFormat/commit_status.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RepositoryFormat/pull_request.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RepositoryFormat/release.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RepositoryFormat/repo_archiver.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RepositoryFormat/repo_indexer_status.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RepositoryFormat/repository.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_RepositoryFormat/review_state.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_StoreWebauthnCredentialIDAsBytes/expected_webauthn_credential.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_StoreWebauthnCredentialIDAsBytes/webauthn_credential.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_UnwrapLDAPSourceCfg/login_source.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_UpdateBadgeColName/badge.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_UpdateOpenMilestoneCounts/expected_milestone.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_UpdateOpenMilestoneCounts/issue.yml (100%) rename {models/migrations => modelmigration}/fixtures/Test_UpdateOpenMilestoneCounts/milestone.yml (100%) rename {models/migrations => modelmigration}/migrations.go (95%) rename {models/migrations => modelmigration}/migrations_test.go (97%) rename {models/migrations => modelmigration}/migrationtest/tests.go (90%) rename {models/migrations => modelmigration}/v1_10/v100.go (95%) rename {models/migrations => modelmigration}/v1_10/v101.go (72%) rename {models/migrations => modelmigration}/v1_10/v88.go (92%) rename {models/migrations => modelmigration}/v1_10/v89.go (84%) rename {models/migrations => modelmigration}/v1_10/v90.go (76%) rename {models/migrations => modelmigration}/v1_10/v91.go (80%) rename {models/migrations => modelmigration}/v1_10/v92.go (74%) rename {models/migrations => modelmigration}/v1_10/v93.go (71%) rename {models/migrations => modelmigration}/v1_10/v94.go (80%) rename {models/migrations => modelmigration}/v1_10/v95.go (78%) rename {models/migrations => modelmigration}/v1_10/v96.go (93%) rename {models/migrations => modelmigration}/v1_10/v97.go (65%) rename {models/migrations => modelmigration}/v1_10/v98.go (69%) rename {models/migrations => modelmigration}/v1_10/v99.go (91%) rename {models/migrations => modelmigration}/v1_11/v102.go (72%) rename {models/migrations => modelmigration}/v1_11/v103.go (71%) rename {models/migrations => modelmigration}/v1_11/v104.go (83%) rename {models/migrations => modelmigration}/v1_11/v105.go (79%) rename {models/migrations => modelmigration}/v1_11/v106.go (84%) rename {models/migrations => modelmigration}/v1_11/v107.go (73%) rename {models/migrations => modelmigration}/v1_11/v108.go (69%) rename {models/migrations => modelmigration}/v1_11/v109.go (66%) rename {models/migrations => modelmigration}/v1_11/v110.go (88%) rename {models/migrations => modelmigration}/v1_11/v111.go (97%) rename {models/migrations => modelmigration}/v1_11/v112.go (91%) rename {models/migrations => modelmigration}/v1_11/v113.go (74%) rename {models/migrations => modelmigration}/v1_11/v114.go (91%) rename {models/migrations => modelmigration}/v1_11/v115.go (97%) rename {models/migrations => modelmigration}/v1_11/v116.go (84%) rename {models/migrations => modelmigration}/v1_12/v117.go (70%) rename {models/migrations => modelmigration}/v1_12/v118.go (82%) rename {models/migrations => modelmigration}/v1_12/v119.go (72%) rename {models/migrations => modelmigration}/v1_12/v120.go (77%) rename {models/migrations => modelmigration}/v1_12/v121.go (75%) rename {models/migrations => modelmigration}/v1_12/v122.go (70%) rename {models/migrations => modelmigration}/v1_12/v123.go (72%) rename {models/migrations => modelmigration}/v1_12/v124.go (80%) rename {models/migrations => modelmigration}/v1_12/v125.go (76%) rename {models/migrations => modelmigration}/v1_12/v126.go (85%) rename {models/migrations => modelmigration}/v1_12/v127.go (93%) rename {models/migrations => modelmigration}/v1_12/v128.go (96%) rename {models/migrations => modelmigration}/v1_12/v129.go (77%) rename {models/migrations => modelmigration}/v1_12/v130.go (96%) rename {models/migrations => modelmigration}/v1_12/v131.go (76%) rename {models/migrations => modelmigration}/v1_12/v132.go (74%) rename {models/migrations => modelmigration}/v1_12/v133.go (75%) rename {models/migrations => modelmigration}/v1_12/v134.go (95%) rename {models/migrations => modelmigration}/v1_12/v135.go (75%) rename {models/migrations => modelmigration}/v1_12/v136.go (96%) rename {models/migrations => modelmigration}/v1_12/v137.go (70%) rename {models/migrations => modelmigration}/v1_12/v138.go (73%) rename {models/migrations => modelmigration}/v1_12/v139.go (87%) rename {models/migrations => modelmigration}/v1_13/v140.go (84%) rename {models/migrations => modelmigration}/v1_13/v141.go (74%) rename {models/migrations => modelmigration}/v1_13/v142.go (83%) rename {models/migrations => modelmigration}/v1_13/v143.go (91%) rename {models/migrations => modelmigration}/v1_13/v144.go (84%) rename {models/migrations => modelmigration}/v1_13/v145.go (90%) rename {models/migrations => modelmigration}/v1_13/v146.go (95%) rename {models/migrations => modelmigration}/v1_13/v147.go (97%) rename {models/migrations => modelmigration}/v1_13/v148.go (69%) rename {models/migrations => modelmigration}/v1_13/v149.go (79%) rename {models/migrations => modelmigration}/v1_13/v150.go (78%) rename {models/migrations => modelmigration}/v1_13/v151.go (98%) rename {models/migrations => modelmigration}/v1_13/v152.go (64%) rename {models/migrations => modelmigration}/v1_13/v153.go (77%) rename {models/migrations => modelmigration}/v1_13/v154.go (94%) rename {models/migrations => modelmigration}/v1_14/main_test.go (80%) rename {models/migrations => modelmigration}/v1_14/v155.go (73%) rename {models/migrations => modelmigration}/v1_14/v156.go (97%) rename {models/migrations => modelmigration}/v1_14/v157.go (92%) rename {models/migrations => modelmigration}/v1_14/v158.go (96%) rename {models/migrations => modelmigration}/v1_14/v159.go (89%) rename {models/migrations => modelmigration}/v1_14/v160.go (69%) rename {models/migrations => modelmigration}/v1_14/v161.go (91%) rename {models/migrations => modelmigration}/v1_14/v162.go (89%) rename {models/migrations => modelmigration}/v1_14/v163.go (83%) rename {models/migrations => modelmigration}/v1_14/v164.go (90%) rename {models/migrations => modelmigration}/v1_14/v165.go (91%) rename {models/migrations => modelmigration}/v1_14/v166.go (96%) rename {models/migrations => modelmigration}/v1_14/v167.go (80%) rename {models/migrations => modelmigration}/v1_14/v168.go (51%) rename {models/migrations => modelmigration}/v1_14/v169.go (66%) rename {models/migrations => modelmigration}/v1_14/v170.go (75%) rename {models/migrations => modelmigration}/v1_14/v171.go (75%) rename {models/migrations => modelmigration}/v1_14/v172.go (77%) rename {models/migrations => modelmigration}/v1_14/v173.go (74%) rename {models/migrations => modelmigration}/v1_14/v174.go (87%) rename {models/migrations => modelmigration}/v1_14/v175.go (94%) rename {models/migrations => modelmigration}/v1_14/v176.go (95%) rename {models/migrations => modelmigration}/v1_14/v176_test.go (98%) rename {models/migrations => modelmigration}/v1_14/v177.go (90%) rename {models/migrations => modelmigration}/v1_14/v177_test.go (97%) rename {models/migrations => modelmigration}/v1_15/main_test.go (80%) rename {models/migrations => modelmigration}/v1_15/v178.go (74%) rename {models/migrations => modelmigration}/v1_15/v179.go (82%) rename {models/migrations => modelmigration}/v1_15/v180.go (96%) rename {models/migrations => modelmigration}/v1_15/v181.go (95%) rename {models/migrations => modelmigration}/v1_15/v181_test.go (96%) rename {models/migrations => modelmigration}/v1_15/v182.go (89%) rename {models/migrations => modelmigration}/v1_15/v182_test.go (96%) rename {models/migrations => modelmigration}/v1_15/v183.go (88%) rename {models/migrations => modelmigration}/v1_15/v184.go (92%) rename {models/migrations => modelmigration}/v1_15/v185.go (83%) rename {models/migrations => modelmigration}/v1_15/v186.go (84%) rename {models/migrations => modelmigration}/v1_15/v187.go (89%) rename {models/migrations => modelmigration}/v1_15/v188.go (69%) rename {models/migrations => modelmigration}/v1_16/main_test.go (80%) rename {models/migrations => modelmigration}/v1_16/v189.go (95%) rename {models/migrations => modelmigration}/v1_16/v189_test.go (97%) rename {models/migrations => modelmigration}/v1_16/v190.go (78%) rename {models/migrations => modelmigration}/v1_16/v191.go (83%) rename {models/migrations => modelmigration}/v1_16/v192.go (67%) rename {models/migrations => modelmigration}/v1_16/v193.go (90%) rename {models/migrations => modelmigration}/v1_16/v193_test.go (97%) rename {models/migrations => modelmigration}/v1_16/v194.go (73%) rename {models/migrations => modelmigration}/v1_16/v195.go (92%) rename {models/migrations => modelmigration}/v1_16/v195_test.go (97%) rename {models/migrations => modelmigration}/v1_16/v196.go (75%) rename {models/migrations => modelmigration}/v1_16/v197.go (77%) rename {models/migrations => modelmigration}/v1_16/v198.go (87%) rename {models/migrations => modelmigration}/v1_16/v199.go (100%) rename {models/migrations => modelmigration}/v1_16/v200.go (80%) rename {models/migrations => modelmigration}/v1_16/v201.go (73%) rename {models/migrations => modelmigration}/v1_16/v202.go (85%) rename {models/migrations => modelmigration}/v1_16/v203.go (73%) rename {models/migrations => modelmigration}/v1_16/v204.go (69%) rename {models/migrations => modelmigration}/v1_16/v205.go (86%) rename {models/migrations => modelmigration}/v1_16/v206.go (85%) rename {models/migrations => modelmigration}/v1_16/v207.go (65%) rename {models/migrations => modelmigration}/v1_16/v208.go (52%) rename {models/migrations => modelmigration}/v1_16/v209.go (65%) rename {models/migrations => modelmigration}/v1_16/v210.go (97%) rename {models/migrations => modelmigration}/v1_16/v210_test.go (97%) rename {models/migrations => modelmigration}/v1_17/main_test.go (80%) rename {models/migrations => modelmigration}/v1_17/v211.go (61%) rename {models/migrations => modelmigration}/v1_17/v212.go (97%) rename {models/migrations => modelmigration}/v1_17/v213.go (75%) rename {models/migrations => modelmigration}/v1_17/v214.go (83%) rename {models/migrations => modelmigration}/v1_17/v215.go (88%) rename {models/migrations => modelmigration}/v1_17/v216.go (100%) rename {models/migrations => modelmigration}/v1_17/v217.go (84%) rename {models/migrations => modelmigration}/v1_17/v218.go (94%) rename {models/migrations => modelmigration}/v1_17/v219.go (86%) rename {models/migrations => modelmigration}/v1_17/v220.go (92%) rename {models/migrations => modelmigration}/v1_17/v221.go (95%) rename {models/migrations => modelmigration}/v1_17/v221_test.go (97%) rename {models/migrations => modelmigration}/v1_17/v222.go (94%) rename {models/migrations => modelmigration}/v1_17/v223.go (96%) rename {models/migrations => modelmigration}/v1_18/main_test.go (80%) rename {models/migrations => modelmigration}/v1_18/v224.go (81%) rename {models/migrations => modelmigration}/v1_18/v225.go (83%) rename {models/migrations => modelmigration}/v1_18/v226.go (76%) rename {models/migrations => modelmigration}/v1_18/v227.go (85%) rename {models/migrations => modelmigration}/v1_18/v228.go (89%) rename {models/migrations => modelmigration}/v1_18/v229.go (92%) rename {models/migrations => modelmigration}/v1_18/v229_test.go (95%) rename {models/migrations => modelmigration}/v1_18/v230.go (74%) rename {models/migrations => modelmigration}/v1_18/v230_test.go (95%) rename {models/migrations => modelmigration}/v1_19/main_test.go (80%) rename {models/migrations => modelmigration}/v1_19/v231.go (73%) rename {models/migrations => modelmigration}/v1_19/v232.go (80%) rename {models/migrations => modelmigration}/v1_19/v233.go (91%) rename {models/migrations => modelmigration}/v1_19/v233_test.go (98%) rename {models/migrations => modelmigration}/v1_19/v234.go (90%) rename {models/migrations => modelmigration}/v1_19/v235.go (69%) rename {models/migrations => modelmigration}/v1_19/v236.go (86%) rename {models/migrations => modelmigration}/v1_19/v237.go (78%) rename {models/migrations => modelmigration}/v1_19/v238.go (90%) rename {models/migrations => modelmigration}/v1_19/v239.go (79%) rename {models/migrations => modelmigration}/v1_19/v240.go (98%) rename {models/migrations => modelmigration}/v1_19/v241.go (74%) rename {models/migrations => modelmigration}/v1_19/v242.go (81%) rename {models/migrations => modelmigration}/v1_19/v243.go (65%) rename {models/migrations => modelmigration}/v1_20/main_test.go (80%) rename {models/migrations => modelmigration}/v1_20/v244.go (79%) rename {models/migrations => modelmigration}/v1_20/v245.go (92%) rename {models/migrations => modelmigration}/v1_20/v246.go (66%) rename {models/migrations => modelmigration}/v1_20/v247.go (91%) rename {models/migrations => modelmigration}/v1_20/v248.go (70%) rename {models/migrations => modelmigration}/v1_20/v249.go (92%) rename {models/migrations => modelmigration}/v1_20/v250.go (97%) rename {models/migrations => modelmigration}/v1_20/v251.go (89%) rename {models/migrations => modelmigration}/v1_20/v252.go (89%) rename {models/migrations => modelmigration}/v1_20/v253.go (93%) rename {models/migrations => modelmigration}/v1_20/v254.go (78%) rename {models/migrations => modelmigration}/v1_20/v255.go (81%) rename {models/migrations => modelmigration}/v1_20/v256.go (84%) rename {models/migrations => modelmigration}/v1_20/v257.go (93%) rename {models/migrations => modelmigration}/v1_20/v258.go (67%) rename {models/migrations => modelmigration}/v1_20/v259.go (99%) rename {models/migrations => modelmigration}/v1_20/v259_test.go (98%) rename {models/migrations => modelmigration}/v1_21/main_test.go (80%) rename {models/migrations => modelmigration}/v1_21/v260.go (74%) rename {models/migrations => modelmigration}/v1_21/v261.go (87%) rename {models/migrations => modelmigration}/v1_21/v262.go (64%) rename {models/migrations => modelmigration}/v1_21/v263.go (90%) rename {models/migrations => modelmigration}/v1_21/v264.go (96%) rename {models/migrations => modelmigration}/v1_21/v265.go (84%) rename {models/migrations => modelmigration}/v1_21/v266.go (78%) rename {models/migrations => modelmigration}/v1_21/v267.go (83%) rename {models/migrations => modelmigration}/v1_21/v268.go (75%) rename {models/migrations => modelmigration}/v1_21/v269.go (59%) rename {models/migrations => modelmigration}/v1_21/v270.go (83%) rename {models/migrations => modelmigration}/v1_21/v271.go (71%) rename {models/migrations => modelmigration}/v1_21/v272.go (66%) rename {models/migrations => modelmigration}/v1_21/v273.go (91%) rename {models/migrations => modelmigration}/v1_21/v274.go (79%) rename {models/migrations => modelmigration}/v1_21/v275.go (64%) rename {models/migrations => modelmigration}/v1_21/v276.go (94%) rename {models/migrations => modelmigration}/v1_21/v277.go (66%) rename {models/migrations => modelmigration}/v1_21/v278.go (65%) rename {models/migrations => modelmigration}/v1_21/v279.go (77%) rename {models/migrations => modelmigration}/v1_22/main_test.go (80%) rename {models/migrations => modelmigration}/v1_22/v280.go (86%) rename {models/migrations => modelmigration}/v1_22/v281.go (79%) rename {models/migrations => modelmigration}/v1_22/v282.go (66%) rename {models/migrations => modelmigration}/v1_22/v283.go (92%) rename {models/migrations => modelmigration}/v1_22/v283_test.go (93%) rename {models/migrations => modelmigration}/v1_22/v284.go (75%) rename {models/migrations => modelmigration}/v1_22/v285.go (76%) rename {models/migrations => modelmigration}/v1_22/v286.go (93%) rename {models/migrations => modelmigration}/v1_22/v286_test.go (94%) rename {models/migrations => modelmigration}/v1_22/v287.go (86%) rename {models/migrations => modelmigration}/v1_22/v287_test.go (96%) rename {models/migrations => modelmigration}/v1_22/v288.go (83%) rename {models/migrations => modelmigration}/v1_22/v289.go (85%) rename {models/migrations => modelmigration}/v1_22/v290.go (82%) rename {models/migrations => modelmigration}/v1_22/v291.go (76%) rename {models/migrations => modelmigration}/v1_22/v292.go (100%) rename {models/migrations => modelmigration}/v1_22/v293.go (93%) rename {models/migrations => modelmigration}/v1_22/v293_test.go (96%) rename {models/migrations => modelmigration}/v1_22/v294.go (93%) rename {models/migrations => modelmigration}/v1_22/v294_test.go (96%) rename {models/migrations => modelmigration}/v1_22/v295.go (83%) rename {models/migrations => modelmigration}/v1_22/v296.go (79%) rename {models/migrations => modelmigration}/v1_22/v297.go (74%) rename {models/migrations => modelmigration}/v1_22/v298.go (60%) rename {models/migrations => modelmigration}/v1_23/main_test.go (80%) rename {models/migrations => modelmigration}/v1_23/v299.go (80%) rename {models/migrations => modelmigration}/v1_23/v300.go (86%) rename {models/migrations => modelmigration}/v1_23/v301.go (80%) rename {models/migrations => modelmigration}/v1_23/v302.go (80%) rename {models/migrations => modelmigration}/v1_23/v302_test.go (97%) rename {models/migrations => modelmigration}/v1_23/v303.go (88%) rename {models/migrations => modelmigration}/v1_23/v304.go (76%) rename {models/migrations => modelmigration}/v1_23/v304_test.go (96%) rename {models/migrations => modelmigration}/v1_23/v305.go (84%) rename {models/migrations => modelmigration}/v1_23/v306.go (76%) rename {models/migrations => modelmigration}/v1_23/v307.go (81%) rename {models/migrations => modelmigration}/v1_23/v308.go (93%) rename {models/migrations => modelmigration}/v1_23/v309.go (95%) rename {models/migrations => modelmigration}/v1_23/v310.go (78%) rename {models/migrations => modelmigration}/v1_23/v311.go (76%) rename {models/migrations => modelmigration}/v1_24/v312.go (80%) rename {models/migrations => modelmigration}/v1_24/v313.go (85%) rename {models/migrations => modelmigration}/v1_24/v314.go (81%) rename {models/migrations => modelmigration}/v1_24/v315.go (78%) rename {models/migrations => modelmigration}/v1_24/v316.go (79%) rename {models/migrations => modelmigration}/v1_24/v317.go (94%) rename {models/migrations => modelmigration}/v1_24/v318.go (80%) rename {models/migrations => modelmigration}/v1_24/v319.go (75%) rename {models/migrations => modelmigration}/v1_24/v320.go (91%) rename {models/migrations => modelmigration}/v1_25/main_test.go (80%) rename {models/migrations => modelmigration}/v1_25/v321.go (88%) rename {models/migrations => modelmigration}/v1_25/v321_test.go (98%) rename {models/migrations => modelmigration}/v1_25/v322.go (81%) rename {models/migrations => modelmigration}/v1_25/v322_test.go (95%) rename {models/migrations => modelmigration}/v1_26/main_test.go (80%) rename {models/migrations => modelmigration}/v1_26/v323.go (91%) rename {models/migrations => modelmigration}/v1_26/v324.go (86%) rename {models/migrations => modelmigration}/v1_26/v325.go (82%) rename {models/migrations => modelmigration}/v1_26/v325_test.go (96%) rename {models/migrations => modelmigration}/v1_26/v326.go (95%) rename {models/migrations => modelmigration}/v1_26/v326_test.go (95%) rename {models/migrations => modelmigration}/v1_26/v327.go (77%) rename {models/migrations => modelmigration}/v1_26/v327_test.go (94%) rename {models/migrations => modelmigration}/v1_26/v328.go (75%) rename {models/migrations => modelmigration}/v1_26/v329.go (94%) rename {models/migrations => modelmigration}/v1_26/v329_test.go (97%) rename {models/migrations => modelmigration}/v1_26/v330.go (78%) rename {models/migrations => modelmigration}/v1_27/main_test.go (80%) rename {models/migrations => modelmigration}/v1_27/v331.go (97%) rename {models/migrations => modelmigration}/v1_27/v331_test.go (99%) rename {models/migrations => modelmigration}/v1_27/v332.go (81%) rename {models/migrations => modelmigration}/v1_27/v333.go (81%) rename {models/migrations => modelmigration}/v1_27/v333_test.go (97%) rename {models/migrations => modelmigration}/v1_27/v334.go (78%) rename {models/migrations => modelmigration}/v1_27/v334_test.go (94%) rename {models/migrations => modelmigration}/v1_27/v335.go (91%) rename {models/migrations => modelmigration}/v1_27/v336.go (88%) rename {models/migrations => modelmigration}/v1_27/v337.go (90%) rename {models/migrations => modelmigration}/v1_27/v338.go (87%) rename {models/migrations => modelmigration}/v1_27/v338_test.go (96%) rename {models/migrations => modelmigration}/v1_27/v339.go (91%) rename {models/migrations => modelmigration}/v1_27/v339_test.go (98%) rename {models/migrations => modelmigration}/v1_27/v340.go (83%) rename {models/migrations => modelmigration}/v1_27/v341.go (94%) rename {models/migrations => modelmigration}/v1_27/v341_test.go (94%) rename {models/migrations => modelmigration}/v1_27/v342.go (93%) rename {models/migrations => modelmigration}/v1_6/v70.go (96%) rename {models/migrations => modelmigration}/v1_6/v71.go (94%) rename {models/migrations => modelmigration}/v1_6/v72.go (87%) rename {models/migrations => modelmigration}/v1_7/v73.go (74%) rename {models/migrations => modelmigration}/v1_7/v74.go (75%) rename {models/migrations => modelmigration}/v1_7/v75.go (89%) rename {models/migrations => modelmigration}/v1_8/v76.go (95%) rename {models/migrations => modelmigration}/v1_8/v77.go (69%) rename {models/migrations => modelmigration}/v1_8/v78.go (85%) rename {models/migrations => modelmigration}/v1_8/v79.go (83%) rename {models/migrations => modelmigration}/v1_8/v80.go (74%) rename {models/migrations => modelmigration}/v1_8/v81.go (87%) rename {models/migrations => modelmigration}/v1_9/v82.go (95%) rename {models/migrations => modelmigration}/v1_9/v83.go (86%) rename {models/migrations => modelmigration}/v1_9/v84.go (73%) rename {models/migrations => modelmigration}/v1_9/v85.go (94%) rename {models/migrations => modelmigration}/v1_9/v86.go (68%) rename {models/migrations => modelmigration}/v1_9/v87.go (71%) diff --git a/.air.toml b/.air.toml index 6e3c5bdc83..c7fdf45776 100644 --- a/.air.toml +++ b/.air.toml @@ -11,7 +11,7 @@ include_file = ["main.go"] include_dir = ["cmd", "models", "modules", "options", "routers", "services"] exclude_dir = [ "models/fixtures", - "models/migrations/fixtures", + "modelmigration/fixtures", "modules/avatar/identicon/testdata", "modules/avatar/testdata", "modules/git/tests", diff --git a/.golangci.yml b/.golangci.yml index 519b74f7a8..38b7a9ae28 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -53,9 +53,9 @@ linters: desc: use builtin errors package instead migrations: files: - - '**/models/migrations/**/*.go' + - '**/modelmigration/**/*.go' deny: - - pkg: gitea.dev/models$ + - pkg: gitea.dev/models$ # FIXME: it should deny all sub packages like "gitea.dev/models/repo" desc: migrations must not depend on the models package - pkg: gitea.dev/modules/structs desc: migrations must not depend on modules/structs (API structures change over time) @@ -134,8 +134,7 @@ linters: path: _test\.go - linters: - dupl - - errcheck - path: models/migrations/v + path: modelmigration/v - linters: - forbidigo path: cmd diff --git a/Makefile b/Makefile index ad21a80dcf..786602ccd9 100644 --- a/Makefile +++ b/Makefile @@ -113,8 +113,8 @@ LDFLAGS := $(LDFLAGS) -X "main.Version=$(GITEA_VERSION)" -X "main.Tags=$(TAGS)" LINUX_ARCHS ?= linux/amd64,linux/386,linux/arm-5,linux/arm-6,linux/arm64,linux/riscv64 -GO_TEST_PACKAGES ?= $(filter-out $(shell $(GO) list gitea.dev/models/migrations/...) gitea.dev/tests/integration/migration-test gitea.dev/tests gitea.dev/tests/integration,$(shell $(GO) list ./... | grep -v /vendor/)) -MIGRATE_TEST_PACKAGES ?= $(shell $(GO) list gitea.dev/models/migrations/...) +GO_TEST_PACKAGES ?= $(filter-out $(shell $(GO) list gitea.dev/modelmigration/...) gitea.dev/tests/integration/migration-test gitea.dev/tests gitea.dev/tests/integration,$(shell $(GO) list ./... | grep -v /vendor/)) +MIGRATE_TEST_PACKAGES ?= $(shell $(GO) list gitea.dev/modelmigration/...) FRONTEND_SOURCES := $(shell find web_src/js web_src/css -type f) FRONTEND_CONFIGS := vite.config.ts tailwind.config.ts @@ -477,7 +477,7 @@ migrations.individual.test: .PHONY: migrations.individual.test\#% migrations.individual.test\#%: - $(GO) test $(GOTEST_FLAGS) -tags '$(TAGS)' gitea.dev/models/migrations/$* + $(GO) test $(GOTEST_FLAGS) -tags '$(TAGS)' gitea.dev/modelmigration/$* .PHONY: playwright playwright: deps-frontend diff --git a/cmd/doctor.go b/cmd/doctor.go index 8941be0ca0..40edaca566 100644 --- a/cmd/doctor.go +++ b/cmd/doctor.go @@ -12,9 +12,9 @@ import ( "strings" "text/tabwriter" + "gitea.dev/modelmigration" + "gitea.dev/modelmigration/base" "gitea.dev/models/db" - "gitea.dev/models/migrations" - migrate_base "gitea.dev/models/migrations/base" "gitea.dev/modules/container" "gitea.dev/modules/log" "gitea.dev/modules/setting" @@ -129,10 +129,10 @@ func runRecreateTable(ctx context.Context, cmd *cli.Command) error { if err != nil { return err } - recreateTables := migrate_base.RecreateTables(beans...) + recreateTables := base.RecreateTables(beans...) return db.InitEngineWithMigration(context.Background(), func(ctx context.Context, x db.EngineMigration) error { - if err := migrations.EnsureUpToDate(ctx, x); err != nil { + if err := modelmigration.EnsureUpToDate(ctx, x); err != nil { return err } return recreateTables(x) diff --git a/docs/build-source.md b/docs/build-source.md index 17e2ef7ae0..43558571f2 100644 --- a/docs/build-source.md +++ b/docs/build-source.md @@ -53,10 +53,10 @@ For packagers who need to use paths like `/etc/gitea/app.ini`, they should define these values at build time for `make build` by environment variable like `LDFLAGS='-X "module.Var1=Value1" -X "module.Var2=Value2"' TAGS="bindata" make build`. -- _`CustomConf`_: `-X "code.gitea.io/gitea/modules/setting.CustomConf=/etc/gitea/app.ini"` -- _`AppWorkPath`_: `-X "code.gitea.io/gitea/modules/setting.AppWorkPath=/var/lib/gitea"` -- _`CustomPath`_: `-X "code.gitea.io/gitea/modules/setting.CustomPath=/var/lib/gitea/custom"` -- Default PID file location: `-X "code.gitea.io/gitea/cmd.PIDFile=/run/gitea.pid"` +- _`CustomConf`_: `-X "gitea.dev/modules/setting.CustomConf=/etc/gitea/app.ini"` +- _`AppWorkPath`_: `-X "gitea.dev/modules/setting.AppWorkPath=/var/lib/gitea"` +- _`CustomPath`_: `-X "gitea.dev/modules/setting.CustomPath=/var/lib/gitea/custom"` +- Default PID file location: `-X "gitea.dev/cmd.PIDFile=/run/gitea.pid"` Add as many of the strings with their preceding `-X` to the `LDFLAGS` variable and run `make build` with the appropriate `TAGS` as above. diff --git a/docs/development.md b/docs/development.md index e0858a716f..88a0380204 100644 --- a/docs/development.md +++ b/docs/development.md @@ -109,7 +109,7 @@ which lives in the [documentation repository](https://gitea.com/gitea/docs). ## Database migrations If you make breaking changes to a database-persisted struct under `models/`, add a -new migration in `models/migrations/`. See [testing.md](testing.md#migration-tests) +new migration in `modelmigration/`. See [testing.md](testing.md#migration-tests) for running the migration tests. ## Testing diff --git a/docs/guidelines-backend.md b/docs/guidelines-backend.md index 5342c1d971..9bef45da09 100644 --- a/docs/guidelines-backend.md +++ b/docs/guidelines-backend.md @@ -23,7 +23,7 @@ The backend is split into top-level packages, each with a focused responsibility dependencies to a minimum - `models/db`: core database operations - `models/fixtures`: sample data used by tests - - `models/migrations`: schema migration scripts +- `modelmigration`: schema migration scripts - `modules`: standalone functionality with few dependencies - `modules/setting`: configuration handling - `modules/git`: interaction with the Git command line diff --git a/docs/testing.md b/docs/testing.md index 6e74ed2317..ea719c18be 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -136,7 +136,7 @@ Useful environment variables: ## Migration tests If you change a database-persisted struct under `models/` you will usually need a -new migration in `models/migrations/`. Run the migration tests with: +new migration in `modelmigration`. Run the migration tests with: ```bash make test-migration diff --git a/models/migrations/base/db.go b/modelmigration/base/db.go similarity index 94% rename from models/migrations/base/db.go rename to modelmigration/base/db.go index 569fd2109f..b3dfd9848b 100644 --- a/models/migrations/base/db.go +++ b/modelmigration/base/db.go @@ -18,10 +18,21 @@ import ( "xorm.io/xorm/schemas" ) +// Migrations should never use model structs directly, because the model structs can be different in different releases. +// e.g. if one migration uses "User" model, it works in the early releases, then one day, +// when the User model changes, the migration breaks because it will use the new (incorrect) User model, +// it should only use the old User model. The same to "modules/structs". +// However, many the existing migrations already abuses "modules/structs" (search "gitea.dev/models/" in the migrations). +// TODO: need to fully decouple the migration package and models & structs package +type ( + EngineMigration = db.EngineMigration + Session = db.Session +) + // RecreateTables will recreate the tables for the provided beans using the newly provided bean definition and move all data to that new table // WARNING: YOU MUST PROVIDE THE FULL BEAN DEFINITION -func RecreateTables(beans ...any) func(db.EngineMigration) error { - return func(x db.EngineMigration) error { +func RecreateTables(beans ...any) func(EngineMigration) error { + return func(x EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { @@ -41,7 +52,7 @@ func RecreateTables(beans ...any) func(db.EngineMigration) error { // RecreateTable will recreate the table using the newly provided bean definition and move all data to that new table // WARNING: YOU MUST PROVIDE THE FULL BEAN DEFINITION // WARNING: YOU MUST COMMIT THE SESSION AT THE END -func RecreateTable(sess db.Session, bean any) error { +func RecreateTable(sess Session, bean any) error { // TODO: This will not work if there are foreign keys tableName := sess.Engine().TableName(bean) @@ -304,7 +315,7 @@ func RecreateTable(sess db.Session, bean any) error { } // WARNING: YOU MUST COMMIT THE SESSION AT THE END -func DropTableColumns(sess db.Session, tableName string, columnNames ...string) (err error) { +func DropTableColumns(sess Session, tableName string, columnNames ...string) (err error) { if tableName == "" || len(columnNames) == 0 { return nil } @@ -474,7 +485,7 @@ func DropTableColumns(sess db.Session, tableName string, columnNames ...string) } // ModifyColumn will modify column's type or other property. SQLITE is not supported -func ModifyColumn(x db.EngineMigration, tableName string, col *schemas.Column) error { +func ModifyColumn(x EngineMigration, tableName string, col *schemas.Column) error { var indexes map[string]*schemas.Index var err error // MSSQL have to remove index at first, otherwise alter column will fail diff --git a/models/migrations/base/db_test.go b/modelmigration/base/db_test.go similarity index 90% rename from models/migrations/base/db_test.go rename to modelmigration/base/db_test.go index 3f04e6620f..eb5a212a76 100644 --- a/models/migrations/base/db_test.go +++ b/modelmigration/base/db_test.go @@ -1,12 +1,13 @@ // Copyright 2022 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT -package base +package base_test import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/base" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/timeutil" "xorm.io/xorm/names" @@ -55,7 +56,7 @@ func Test_DropTableColumns(t *testing.T) { t.Errorf("unable to begin transaction: %v", err) return } - if err := DropTableColumns(sess, "drop_test", columns[i:]...); err != nil { + if err := base.DropTableColumns(sess, "drop_test", columns[i:]...); err != nil { sess.Close() t.Errorf("Unable to drop columns[%d:]: %s from drop_test: %v", i, columns[i:], err) return @@ -82,7 +83,7 @@ func Test_DropTableColumns(t *testing.T) { t.Errorf("unable to begin transaction: %v", err) return } - if err := DropTableColumns(sess, "drop_test", dropcols...); err != nil { + if err := base.DropTableColumns(sess, "drop_test", dropcols...); err != nil { sess.Close() t.Errorf("Unable to drop columns: %s from drop_test: %v", dropcols, err) return diff --git a/models/migrations/base/hash.go b/modelmigration/base/hash.go similarity index 100% rename from models/migrations/base/hash.go rename to modelmigration/base/hash.go diff --git a/models/migrations/fixtures/Test_AddCombinedIndexToIssueUser/issue_user.yml b/modelmigration/fixtures/Test_AddCombinedIndexToIssueUser/issue_user.yml similarity index 100% rename from models/migrations/fixtures/Test_AddCombinedIndexToIssueUser/issue_user.yml rename to modelmigration/fixtures/Test_AddCombinedIndexToIssueUser/issue_user.yml diff --git a/models/migrations/fixtures/Test_AddConfidentialClientColumnToOAuth2ApplicationTable/oauth2_application.yml b/modelmigration/fixtures/Test_AddConfidentialClientColumnToOAuth2ApplicationTable/oauth2_application.yml similarity index 100% rename from models/migrations/fixtures/Test_AddConfidentialClientColumnToOAuth2ApplicationTable/oauth2_application.yml rename to modelmigration/fixtures/Test_AddConfidentialClientColumnToOAuth2ApplicationTable/oauth2_application.yml diff --git a/models/migrations/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/expected_webhook.yml b/modelmigration/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/expected_webhook.yml similarity index 100% rename from models/migrations/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/expected_webhook.yml rename to modelmigration/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/expected_webhook.yml diff --git a/models/migrations/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/hook_task.yml b/modelmigration/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/hook_task.yml similarity index 100% rename from models/migrations/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/hook_task.yml rename to modelmigration/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/hook_task.yml diff --git a/models/migrations/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/webhook.yml b/modelmigration/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/webhook.yml similarity index 100% rename from models/migrations/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/webhook.yml rename to modelmigration/fixtures/Test_AddHeaderAuthorizationEncryptedColWebhook/webhook.yml diff --git a/models/migrations/fixtures/Test_AddIssueResourceIndexTable/issue.yml b/modelmigration/fixtures/Test_AddIssueResourceIndexTable/issue.yml similarity index 100% rename from models/migrations/fixtures/Test_AddIssueResourceIndexTable/issue.yml rename to modelmigration/fixtures/Test_AddIssueResourceIndexTable/issue.yml diff --git a/models/migrations/fixtures/Test_AddRepoIDForAttachment/attachment.yml b/modelmigration/fixtures/Test_AddRepoIDForAttachment/attachment.yml similarity index 100% rename from models/migrations/fixtures/Test_AddRepoIDForAttachment/attachment.yml rename to modelmigration/fixtures/Test_AddRepoIDForAttachment/attachment.yml diff --git a/models/migrations/fixtures/Test_AddRepoIDForAttachment/issue.yml b/modelmigration/fixtures/Test_AddRepoIDForAttachment/issue.yml similarity index 100% rename from models/migrations/fixtures/Test_AddRepoIDForAttachment/issue.yml rename to modelmigration/fixtures/Test_AddRepoIDForAttachment/issue.yml diff --git a/models/migrations/fixtures/Test_AddRepoIDForAttachment/release.yml b/modelmigration/fixtures/Test_AddRepoIDForAttachment/release.yml similarity index 100% rename from models/migrations/fixtures/Test_AddRepoIDForAttachment/release.yml rename to modelmigration/fixtures/Test_AddRepoIDForAttachment/release.yml diff --git a/models/migrations/fixtures/Test_AddUniqueIndexForProjectIssue/project_issue.yml b/modelmigration/fixtures/Test_AddUniqueIndexForProjectIssue/project_issue.yml similarity index 100% rename from models/migrations/fixtures/Test_AddUniqueIndexForProjectIssue/project_issue.yml rename to modelmigration/fixtures/Test_AddUniqueIndexForProjectIssue/project_issue.yml diff --git a/models/migrations/fixtures/Test_CheckProjectColumnsConsistency/project.yml b/modelmigration/fixtures/Test_CheckProjectColumnsConsistency/project.yml similarity index 100% rename from models/migrations/fixtures/Test_CheckProjectColumnsConsistency/project.yml rename to modelmigration/fixtures/Test_CheckProjectColumnsConsistency/project.yml diff --git a/models/migrations/fixtures/Test_CheckProjectColumnsConsistency/project_board.yml b/modelmigration/fixtures/Test_CheckProjectColumnsConsistency/project_board.yml similarity index 100% rename from models/migrations/fixtures/Test_CheckProjectColumnsConsistency/project_board.yml rename to modelmigration/fixtures/Test_CheckProjectColumnsConsistency/project_board.yml diff --git a/models/migrations/fixtures/Test_DeleteOrphanedIssueLabels/issue_label.yml b/modelmigration/fixtures/Test_DeleteOrphanedIssueLabels/issue_label.yml similarity index 100% rename from models/migrations/fixtures/Test_DeleteOrphanedIssueLabels/issue_label.yml rename to modelmigration/fixtures/Test_DeleteOrphanedIssueLabels/issue_label.yml diff --git a/models/migrations/fixtures/Test_DeleteOrphanedIssueLabels/label.yml b/modelmigration/fixtures/Test_DeleteOrphanedIssueLabels/label.yml similarity index 100% rename from models/migrations/fixtures/Test_DeleteOrphanedIssueLabels/label.yml rename to modelmigration/fixtures/Test_DeleteOrphanedIssueLabels/label.yml diff --git a/models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run.yml b/modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run.yml similarity index 100% rename from models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run.yml rename to modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run.yml diff --git a/models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run_job.yml b/modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run_job.yml similarity index 100% rename from models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run_job.yml rename to modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/action_run_job.yml diff --git a/models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status.yml b/modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status.yml similarity index 100% rename from models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status.yml rename to modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status.yml diff --git a/models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status_summary.yml b/modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status_summary.yml similarity index 100% rename from models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status_summary.yml rename to modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/commit_status_summary.yml diff --git a/models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/repository.yml b/modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/repository.yml similarity index 100% rename from models/migrations/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/repository.yml rename to modelmigration/fixtures/Test_FixCommitStatusTargetURLToUseRunAndJobID/repository.yml diff --git a/models/migrations/fixtures/Test_RemigrateU2FCredentials/expected_webauthn_credential.yml b/modelmigration/fixtures/Test_RemigrateU2FCredentials/expected_webauthn_credential.yml similarity index 100% rename from models/migrations/fixtures/Test_RemigrateU2FCredentials/expected_webauthn_credential.yml rename to modelmigration/fixtures/Test_RemigrateU2FCredentials/expected_webauthn_credential.yml diff --git a/models/migrations/fixtures/Test_RemigrateU2FCredentials/u2f_registration.yml b/modelmigration/fixtures/Test_RemigrateU2FCredentials/u2f_registration.yml similarity index 100% rename from models/migrations/fixtures/Test_RemigrateU2FCredentials/u2f_registration.yml rename to modelmigration/fixtures/Test_RemigrateU2FCredentials/u2f_registration.yml diff --git a/models/migrations/fixtures/Test_RemigrateU2FCredentials/webauthn_credential.yml b/modelmigration/fixtures/Test_RemigrateU2FCredentials/webauthn_credential.yml similarity index 100% rename from models/migrations/fixtures/Test_RemigrateU2FCredentials/webauthn_credential.yml rename to modelmigration/fixtures/Test_RemigrateU2FCredentials/webauthn_credential.yml diff --git a/models/migrations/fixtures/Test_RemoveInvalidLabels/comment.yml b/modelmigration/fixtures/Test_RemoveInvalidLabels/comment.yml similarity index 100% rename from models/migrations/fixtures/Test_RemoveInvalidLabels/comment.yml rename to modelmigration/fixtures/Test_RemoveInvalidLabels/comment.yml diff --git a/models/migrations/fixtures/Test_RemoveInvalidLabels/issue.yml b/modelmigration/fixtures/Test_RemoveInvalidLabels/issue.yml similarity index 100% rename from models/migrations/fixtures/Test_RemoveInvalidLabels/issue.yml rename to modelmigration/fixtures/Test_RemoveInvalidLabels/issue.yml diff --git a/models/migrations/fixtures/Test_RemoveInvalidLabels/issue_label.yml b/modelmigration/fixtures/Test_RemoveInvalidLabels/issue_label.yml similarity index 100% rename from models/migrations/fixtures/Test_RemoveInvalidLabels/issue_label.yml rename to modelmigration/fixtures/Test_RemoveInvalidLabels/issue_label.yml diff --git a/models/migrations/fixtures/Test_RemoveInvalidLabels/label.yml b/modelmigration/fixtures/Test_RemoveInvalidLabels/label.yml similarity index 100% rename from models/migrations/fixtures/Test_RemoveInvalidLabels/label.yml rename to modelmigration/fixtures/Test_RemoveInvalidLabels/label.yml diff --git a/models/migrations/fixtures/Test_RemoveInvalidLabels/repository.yml b/modelmigration/fixtures/Test_RemoveInvalidLabels/repository.yml similarity index 100% rename from models/migrations/fixtures/Test_RemoveInvalidLabels/repository.yml rename to modelmigration/fixtures/Test_RemoveInvalidLabels/repository.yml diff --git a/models/migrations/fixtures/Test_RepositoryFormat/comment.yml b/modelmigration/fixtures/Test_RepositoryFormat/comment.yml similarity index 100% rename from models/migrations/fixtures/Test_RepositoryFormat/comment.yml rename to modelmigration/fixtures/Test_RepositoryFormat/comment.yml diff --git a/models/migrations/fixtures/Test_RepositoryFormat/commit_status.yml b/modelmigration/fixtures/Test_RepositoryFormat/commit_status.yml similarity index 100% rename from models/migrations/fixtures/Test_RepositoryFormat/commit_status.yml rename to modelmigration/fixtures/Test_RepositoryFormat/commit_status.yml diff --git a/models/migrations/fixtures/Test_RepositoryFormat/pull_request.yml b/modelmigration/fixtures/Test_RepositoryFormat/pull_request.yml similarity index 100% rename from models/migrations/fixtures/Test_RepositoryFormat/pull_request.yml rename to modelmigration/fixtures/Test_RepositoryFormat/pull_request.yml diff --git a/models/migrations/fixtures/Test_RepositoryFormat/release.yml b/modelmigration/fixtures/Test_RepositoryFormat/release.yml similarity index 100% rename from models/migrations/fixtures/Test_RepositoryFormat/release.yml rename to modelmigration/fixtures/Test_RepositoryFormat/release.yml diff --git a/models/migrations/fixtures/Test_RepositoryFormat/repo_archiver.yml b/modelmigration/fixtures/Test_RepositoryFormat/repo_archiver.yml similarity index 100% rename from models/migrations/fixtures/Test_RepositoryFormat/repo_archiver.yml rename to modelmigration/fixtures/Test_RepositoryFormat/repo_archiver.yml diff --git a/models/migrations/fixtures/Test_RepositoryFormat/repo_indexer_status.yml b/modelmigration/fixtures/Test_RepositoryFormat/repo_indexer_status.yml similarity index 100% rename from models/migrations/fixtures/Test_RepositoryFormat/repo_indexer_status.yml rename to modelmigration/fixtures/Test_RepositoryFormat/repo_indexer_status.yml diff --git a/models/migrations/fixtures/Test_RepositoryFormat/repository.yml b/modelmigration/fixtures/Test_RepositoryFormat/repository.yml similarity index 100% rename from models/migrations/fixtures/Test_RepositoryFormat/repository.yml rename to modelmigration/fixtures/Test_RepositoryFormat/repository.yml diff --git a/models/migrations/fixtures/Test_RepositoryFormat/review_state.yml b/modelmigration/fixtures/Test_RepositoryFormat/review_state.yml similarity index 100% rename from models/migrations/fixtures/Test_RepositoryFormat/review_state.yml rename to modelmigration/fixtures/Test_RepositoryFormat/review_state.yml diff --git a/models/migrations/fixtures/Test_StoreWebauthnCredentialIDAsBytes/expected_webauthn_credential.yml b/modelmigration/fixtures/Test_StoreWebauthnCredentialIDAsBytes/expected_webauthn_credential.yml similarity index 100% rename from models/migrations/fixtures/Test_StoreWebauthnCredentialIDAsBytes/expected_webauthn_credential.yml rename to modelmigration/fixtures/Test_StoreWebauthnCredentialIDAsBytes/expected_webauthn_credential.yml diff --git a/models/migrations/fixtures/Test_StoreWebauthnCredentialIDAsBytes/webauthn_credential.yml b/modelmigration/fixtures/Test_StoreWebauthnCredentialIDAsBytes/webauthn_credential.yml similarity index 100% rename from models/migrations/fixtures/Test_StoreWebauthnCredentialIDAsBytes/webauthn_credential.yml rename to modelmigration/fixtures/Test_StoreWebauthnCredentialIDAsBytes/webauthn_credential.yml diff --git a/models/migrations/fixtures/Test_UnwrapLDAPSourceCfg/login_source.yml b/modelmigration/fixtures/Test_UnwrapLDAPSourceCfg/login_source.yml similarity index 100% rename from models/migrations/fixtures/Test_UnwrapLDAPSourceCfg/login_source.yml rename to modelmigration/fixtures/Test_UnwrapLDAPSourceCfg/login_source.yml diff --git a/models/migrations/fixtures/Test_UpdateBadgeColName/badge.yml b/modelmigration/fixtures/Test_UpdateBadgeColName/badge.yml similarity index 100% rename from models/migrations/fixtures/Test_UpdateBadgeColName/badge.yml rename to modelmigration/fixtures/Test_UpdateBadgeColName/badge.yml diff --git a/models/migrations/fixtures/Test_UpdateOpenMilestoneCounts/expected_milestone.yml b/modelmigration/fixtures/Test_UpdateOpenMilestoneCounts/expected_milestone.yml similarity index 100% rename from models/migrations/fixtures/Test_UpdateOpenMilestoneCounts/expected_milestone.yml rename to modelmigration/fixtures/Test_UpdateOpenMilestoneCounts/expected_milestone.yml diff --git a/models/migrations/fixtures/Test_UpdateOpenMilestoneCounts/issue.yml b/modelmigration/fixtures/Test_UpdateOpenMilestoneCounts/issue.yml similarity index 100% rename from models/migrations/fixtures/Test_UpdateOpenMilestoneCounts/issue.yml rename to modelmigration/fixtures/Test_UpdateOpenMilestoneCounts/issue.yml diff --git a/models/migrations/fixtures/Test_UpdateOpenMilestoneCounts/milestone.yml b/modelmigration/fixtures/Test_UpdateOpenMilestoneCounts/milestone.yml similarity index 100% rename from models/migrations/fixtures/Test_UpdateOpenMilestoneCounts/milestone.yml rename to modelmigration/fixtures/Test_UpdateOpenMilestoneCounts/milestone.yml diff --git a/models/migrations/migrations.go b/modelmigration/migrations.go similarity index 95% rename from models/migrations/migrations.go rename to modelmigration/migrations.go index f77ce03201..d82b474d96 100644 --- a/models/migrations/migrations.go +++ b/modelmigration/migrations.go @@ -2,36 +2,36 @@ // Copyright 2017 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT -package migrations +package modelmigration import ( "context" "errors" "fmt" - "gitea.dev/models/db" - "gitea.dev/models/migrations/v1_10" - "gitea.dev/models/migrations/v1_11" - "gitea.dev/models/migrations/v1_12" - "gitea.dev/models/migrations/v1_13" - "gitea.dev/models/migrations/v1_14" - "gitea.dev/models/migrations/v1_15" - "gitea.dev/models/migrations/v1_16" - "gitea.dev/models/migrations/v1_17" - "gitea.dev/models/migrations/v1_18" - "gitea.dev/models/migrations/v1_19" - "gitea.dev/models/migrations/v1_20" - "gitea.dev/models/migrations/v1_21" - "gitea.dev/models/migrations/v1_22" - "gitea.dev/models/migrations/v1_23" - "gitea.dev/models/migrations/v1_24" - "gitea.dev/models/migrations/v1_25" - "gitea.dev/models/migrations/v1_26" - "gitea.dev/models/migrations/v1_27" - "gitea.dev/models/migrations/v1_6" - "gitea.dev/models/migrations/v1_7" - "gitea.dev/models/migrations/v1_8" - "gitea.dev/models/migrations/v1_9" + "gitea.dev/modelmigration/base" + "gitea.dev/modelmigration/v1_10" + "gitea.dev/modelmigration/v1_11" + "gitea.dev/modelmigration/v1_12" + "gitea.dev/modelmigration/v1_13" + "gitea.dev/modelmigration/v1_14" + "gitea.dev/modelmigration/v1_15" + "gitea.dev/modelmigration/v1_16" + "gitea.dev/modelmigration/v1_17" + "gitea.dev/modelmigration/v1_18" + "gitea.dev/modelmigration/v1_19" + "gitea.dev/modelmigration/v1_20" + "gitea.dev/modelmigration/v1_21" + "gitea.dev/modelmigration/v1_22" + "gitea.dev/modelmigration/v1_23" + "gitea.dev/modelmigration/v1_24" + "gitea.dev/modelmigration/v1_25" + "gitea.dev/modelmigration/v1_26" + "gitea.dev/modelmigration/v1_27" + "gitea.dev/modelmigration/v1_6" + "gitea.dev/modelmigration/v1_7" + "gitea.dev/modelmigration/v1_8" + "gitea.dev/modelmigration/v1_9" "gitea.dev/modules/git" "gitea.dev/modules/log" "gitea.dev/modules/setting" @@ -44,23 +44,23 @@ const minDBVersion = 70 // Gitea 1.5.3 type migration struct { idNumber int64 // DB version is "the last migration's idNumber" + 1 description string - migrate func(context.Context, db.EngineMigration) error + migrate func(context.Context, base.EngineMigration) error } // newMigration creates a new migration -func newMigration[T func(db.EngineMigration) error | func(context.Context, db.EngineMigration) error](idNumber int64, desc string, fn T) *migration { +func newMigration[T func(base.EngineMigration) error | func(context.Context, base.EngineMigration) error](idNumber int64, desc string, fn T) *migration { m := &migration{idNumber: idNumber, description: desc} var ok bool - if m.migrate, ok = any(fn).(func(context.Context, db.EngineMigration) error); !ok { - m.migrate = func(ctx context.Context, x db.EngineMigration) error { - return any(fn).(func(db.EngineMigration) error)(x) + if m.migrate, ok = any(fn).(func(context.Context, base.EngineMigration) error); !ok { + m.migrate = func(ctx context.Context, x base.EngineMigration) error { + return any(fn).(func(base.EngineMigration) error)(x) } } return m } // Migrate executes the migration -func (m *migration) Migrate(ctx context.Context, x db.EngineMigration) error { +func (m *migration) Migrate(ctx context.Context, x base.EngineMigration) error { return m.migrate(ctx, x) } @@ -71,7 +71,7 @@ type Version struct { } // Use noopMigration when there is a migration that has been no-oped -var noopMigration = func(_ db.EngineMigration) error { return nil } +var noopMigration = func(_ base.EngineMigration) error { return nil } var preparedMigrations []*migration @@ -420,12 +420,13 @@ func prepareMigrationTasks() []*migration { newMigration(340, "Add ContinueOnError column to ActionRunJob", v1_27.AddContinueOnErrorToActionRunJob), newMigration(341, "Convert legacy MSSQL DATETIME columns to DATETIME2", v1_27.FixLegacyMSSQLDateTimeColumns), newMigration(342, "Add scoped workflows schema", v1_27.AddScopedWorkflowsSchema), + // Gitea 1.27.0 ends at migration ID number 342 (database version 343) } return preparedMigrations } // GetCurrentDBVersion returns the current db version -func GetCurrentDBVersion(x db.EngineMigration) (int64, error) { +func GetCurrentDBVersion(x base.EngineMigration) (int64, error) { if err := x.Sync(new(Version)); err != nil { return -1, fmt.Errorf("sync: %w", err) } @@ -458,7 +459,7 @@ func ExpectedDBVersion() int64 { } // EnsureUpToDate will check if the db is at the correct version -func EnsureUpToDate(ctx context.Context, x db.EngineMigration) error { +func EnsureUpToDate(ctx context.Context, x base.EngineMigration) error { currentDB, err := GetCurrentDBVersion(x) if err != nil { return err @@ -490,7 +491,7 @@ func migrationIDNumberToDBVersion(idNumber int64) int64 { } // Migrate database to current version -func Migrate(ctx context.Context, x db.EngineMigration) error { +func Migrate(ctx context.Context, x base.EngineMigration) error { migrations := prepareMigrationTasks() maxDBVer := calcDBVersion(migrations) diff --git a/models/migrations/migrations_test.go b/modelmigration/migrations_test.go similarity index 97% rename from models/migrations/migrations_test.go rename to modelmigration/migrations_test.go index bc94d7b1e6..2828bc4662 100644 --- a/models/migrations/migrations_test.go +++ b/modelmigration/migrations_test.go @@ -1,7 +1,7 @@ // Copyright 2024 The Gitea Authors. All rights reserved. // SPDX-License-Identifier: MIT -package migrations +package modelmigration import ( "testing" diff --git a/models/migrations/migrationtest/tests.go b/modelmigration/migrationtest/tests.go similarity index 90% rename from models/migrations/migrationtest/tests.go rename to modelmigration/migrationtest/tests.go index bafdea24cf..4e3c0899ff 100644 --- a/models/migrations/migrationtest/tests.go +++ b/modelmigration/migrationtest/tests.go @@ -8,6 +8,7 @@ import ( "path/filepath" "testing" + "gitea.dev/modelmigration/base" "gitea.dev/models/db" "gitea.dev/models/unittest" "gitea.dev/modules/git" @@ -22,8 +23,8 @@ import ( // PrepareTestEnv prepares the test environment and reset the database. The skip parameter should usually be 0. // Provide models to be sync'd with the database - in particular any models you expect fixtures to be loaded from. // -// fixtures in `models/migrations/fixtures/` will be loaded automatically -func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (db.EngineMigration, func()) { +// fixtures in `modelmigration/fixtures/` will be loaded automatically +func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (base.EngineMigration, func()) { t.Helper() ourSkip := 2 ourSkip += skip @@ -64,7 +65,7 @@ func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (db.EngineMigrati } } - fixturesDir := filepath.Join(giteaRoot, "models", "migrations", "fixtures", t.Name()) + fixturesDir := filepath.Join(giteaRoot, "modelmigration/fixtures", t.Name()) if _, err := os.Stat(fixturesDir); err == nil { t.Logf("initializing fixtures from: %s", fixturesDir) @@ -88,7 +89,7 @@ func PrepareTestEnv(t *testing.T, skip int, syncModels ...any) (db.EngineMigrati return x, deferFn } -func LoadTableSchemasMap(t *testing.T, x db.EngineMigration) map[string]*schemas.Table { +func LoadTableSchemasMap(t *testing.T, x base.EngineMigration) map[string]*schemas.Table { tables, err := x.DBMetas() require.NoError(t, err) tableMap := make(map[string]*schemas.Table) diff --git a/models/migrations/v1_10/v100.go b/modelmigration/v1_10/v100.go similarity index 95% rename from models/migrations/v1_10/v100.go rename to modelmigration/v1_10/v100.go index 9a2bf5fe09..1832ac7b41 100644 --- a/models/migrations/v1_10/v100.go +++ b/modelmigration/v1_10/v100.go @@ -8,10 +8,10 @@ import ( "strings" "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func UpdateMigrationServiceTypes(x db.EngineMigration) error { +func UpdateMigrationServiceTypes(x base.EngineMigration) error { type Repository struct { ID int64 OriginalServiceType int `xorm:"index default(0)"` diff --git a/models/migrations/v1_10/v101.go b/modelmigration/v1_10/v101.go similarity index 72% rename from models/migrations/v1_10/v101.go rename to modelmigration/v1_10/v101.go index 06415af073..15210a28d9 100644 --- a/models/migrations/v1_10/v101.go +++ b/modelmigration/v1_10/v101.go @@ -3,9 +3,9 @@ package v1_10 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func ChangeSomeColumnsLengthOfExternalLoginUser(x db.EngineMigration) error { +func ChangeSomeColumnsLengthOfExternalLoginUser(x base.EngineMigration) error { type ExternalLoginUser struct { AccessToken string `xorm:"TEXT"` AccessTokenSecret string `xorm:"TEXT"` diff --git a/models/migrations/v1_10/v88.go b/modelmigration/v1_10/v88.go similarity index 92% rename from models/migrations/v1_10/v88.go rename to modelmigration/v1_10/v88.go index dc086488ed..7fce41f884 100644 --- a/models/migrations/v1_10/v88.go +++ b/modelmigration/v1_10/v88.go @@ -7,14 +7,14 @@ import ( "crypto/sha1" "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) func hashContext(context string) string { return fmt.Sprintf("%x", sha1.Sum([]byte(context))) } -func AddCommitStatusContext(x db.EngineMigration) error { +func AddCommitStatusContext(x base.EngineMigration) error { type CommitStatus struct { ID int64 `xorm:"pk autoincr"` ContextHash string `xorm:"char(40) index"` diff --git a/models/migrations/v1_10/v89.go b/modelmigration/v1_10/v89.go similarity index 84% rename from models/migrations/v1_10/v89.go rename to modelmigration/v1_10/v89.go index 336c637f18..39f192312e 100644 --- a/models/migrations/v1_10/v89.go +++ b/modelmigration/v1_10/v89.go @@ -3,9 +3,9 @@ package v1_10 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddOriginalMigrationInfo(x db.EngineMigration) error { +func AddOriginalMigrationInfo(x base.EngineMigration) error { // Issue see models/issue.go type Issue struct { OriginalAuthor string diff --git a/models/migrations/v1_10/v90.go b/modelmigration/v1_10/v90.go similarity index 76% rename from models/migrations/v1_10/v90.go rename to modelmigration/v1_10/v90.go index b00607f596..c799421eeb 100644 --- a/models/migrations/v1_10/v90.go +++ b/modelmigration/v1_10/v90.go @@ -3,9 +3,9 @@ package v1_10 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func ChangeSomeColumnsLengthOfRepo(x db.EngineMigration) error { +func ChangeSomeColumnsLengthOfRepo(x base.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` Description string `xorm:"TEXT"` diff --git a/models/migrations/v1_10/v91.go b/modelmigration/v1_10/v91.go similarity index 80% rename from models/migrations/v1_10/v91.go rename to modelmigration/v1_10/v91.go index e78b39b7ec..b7b21829c8 100644 --- a/models/migrations/v1_10/v91.go +++ b/modelmigration/v1_10/v91.go @@ -3,9 +3,9 @@ package v1_10 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIndexOnRepositoryAndComment(x db.EngineMigration) error { +func AddIndexOnRepositoryAndComment(x base.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"index"` diff --git a/models/migrations/v1_10/v92.go b/modelmigration/v1_10/v92.go similarity index 74% rename from models/migrations/v1_10/v92.go rename to modelmigration/v1_10/v92.go index 15ed28ad20..1dd41d3d64 100644 --- a/models/migrations/v1_10/v92.go +++ b/modelmigration/v1_10/v92.go @@ -4,12 +4,12 @@ package v1_10 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/builder" ) -func RemoveLingeringIndexStatus(x db.EngineMigration) error { +func RemoveLingeringIndexStatus(x base.EngineMigration) error { _, err := x.Exec(builder.Delete(builder.NotIn("`repo_id`", builder.Select("`id`").From("`repository`"))).From("`repo_indexer_status`")) return err } diff --git a/models/migrations/v1_10/v93.go b/modelmigration/v1_10/v93.go similarity index 71% rename from models/migrations/v1_10/v93.go rename to modelmigration/v1_10/v93.go index 08dc4b4118..1beaf85fd4 100644 --- a/models/migrations/v1_10/v93.go +++ b/modelmigration/v1_10/v93.go @@ -3,9 +3,9 @@ package v1_10 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddEmailNotificationEnabledToUser(x db.EngineMigration) error { +func AddEmailNotificationEnabledToUser(x base.EngineMigration) error { // User see models/user.go type User struct { EmailNotificationsPreference string `xorm:"VARCHAR(20) NOT NULL DEFAULT 'enabled'"` diff --git a/models/migrations/v1_10/v94.go b/modelmigration/v1_10/v94.go similarity index 80% rename from models/migrations/v1_10/v94.go rename to modelmigration/v1_10/v94.go index ace5f4eec2..bc806ef505 100644 --- a/models/migrations/v1_10/v94.go +++ b/modelmigration/v1_10/v94.go @@ -3,9 +3,9 @@ package v1_10 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddStatusCheckColumnsForProtectedBranches(x db.EngineMigration) error { +func AddStatusCheckColumnsForProtectedBranches(x base.EngineMigration) error { type ProtectedBranch struct { EnableStatusCheck bool `xorm:"NOT NULL DEFAULT false"` StatusCheckContexts []string `xorm:"JSON TEXT"` diff --git a/models/migrations/v1_10/v95.go b/modelmigration/v1_10/v95.go similarity index 78% rename from models/migrations/v1_10/v95.go rename to modelmigration/v1_10/v95.go index 4638cb175a..5730b5158f 100644 --- a/models/migrations/v1_10/v95.go +++ b/modelmigration/v1_10/v95.go @@ -3,9 +3,9 @@ package v1_10 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddCrossReferenceColumns(x db.EngineMigration) error { +func AddCrossReferenceColumns(x base.EngineMigration) error { // Comment see models/comment.go type Comment struct { RefRepoID int64 `xorm:"index"` diff --git a/models/migrations/v1_10/v96.go b/modelmigration/v1_10/v96.go similarity index 93% rename from models/migrations/v1_10/v96.go rename to modelmigration/v1_10/v96.go index 8fc0c8b71c..512c841f4b 100644 --- a/models/migrations/v1_10/v96.go +++ b/modelmigration/v1_10/v96.go @@ -6,12 +6,12 @@ package v1_10 import ( "path/filepath" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" "gitea.dev/modules/util" ) -func DeleteOrphanedAttachments(x db.EngineMigration) error { +func DeleteOrphanedAttachments(x base.EngineMigration) error { type Attachment struct { ID int64 `xorm:"pk autoincr"` UUID string `xorm:"uuid UNIQUE"` diff --git a/models/migrations/v1_10/v97.go b/modelmigration/v1_10/v97.go similarity index 65% rename from models/migrations/v1_10/v97.go rename to modelmigration/v1_10/v97.go index 554869af3e..f68fa76cd6 100644 --- a/models/migrations/v1_10/v97.go +++ b/modelmigration/v1_10/v97.go @@ -3,9 +3,9 @@ package v1_10 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddRepoAdminChangeTeamAccessColumnForUser(x db.EngineMigration) error { +func AddRepoAdminChangeTeamAccessColumnForUser(x base.EngineMigration) error { type User struct { RepoAdminChangeTeamAccess bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_10/v98.go b/modelmigration/v1_10/v98.go similarity index 69% rename from models/migrations/v1_10/v98.go rename to modelmigration/v1_10/v98.go index 9f4d1eb846..cd707373ca 100644 --- a/models/migrations/v1_10/v98.go +++ b/modelmigration/v1_10/v98.go @@ -3,9 +3,9 @@ package v1_10 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddOriginalAuthorOnMigratedReleases(x db.EngineMigration) error { +func AddOriginalAuthorOnMigratedReleases(x base.EngineMigration) error { type Release struct { ID int64 OriginalAuthor string diff --git a/models/migrations/v1_10/v99.go b/modelmigration/v1_10/v99.go similarity index 91% rename from models/migrations/v1_10/v99.go rename to modelmigration/v1_10/v99.go index 36802c6cb6..b396835987 100644 --- a/models/migrations/v1_10/v99.go +++ b/modelmigration/v1_10/v99.go @@ -4,11 +4,11 @@ package v1_10 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddTaskTable(x db.EngineMigration) error { +func AddTaskTable(x base.EngineMigration) error { // TaskType defines task type type TaskType int diff --git a/models/migrations/v1_11/v102.go b/modelmigration/v1_11/v102.go similarity index 72% rename from models/migrations/v1_11/v102.go rename to modelmigration/v1_11/v102.go index e5263f6b94..1b004460c9 100644 --- a/models/migrations/v1_11/v102.go +++ b/modelmigration/v1_11/v102.go @@ -4,11 +4,10 @@ package v1_11 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func DropColumnHeadUserNameOnPullRequest(x db.EngineMigration) error { +func DropColumnHeadUserNameOnPullRequest(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_11/v103.go b/modelmigration/v1_11/v103.go similarity index 71% rename from models/migrations/v1_11/v103.go rename to modelmigration/v1_11/v103.go index 1bb4fb4dff..ce0601bf5a 100644 --- a/models/migrations/v1_11/v103.go +++ b/modelmigration/v1_11/v103.go @@ -3,9 +3,9 @@ package v1_11 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddWhitelistDeployKeysToBranches(x db.EngineMigration) error { +func AddWhitelistDeployKeysToBranches(x base.EngineMigration) error { type ProtectedBranch struct { ID int64 WhitelistDeployKeys bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_11/v104.go b/modelmigration/v1_11/v104.go similarity index 83% rename from models/migrations/v1_11/v104.go rename to modelmigration/v1_11/v104.go index e907c21208..74d8cfb6ea 100644 --- a/models/migrations/v1_11/v104.go +++ b/modelmigration/v1_11/v104.go @@ -4,11 +4,10 @@ package v1_11 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func RemoveLabelUneededCols(x db.EngineMigration) error { +func RemoveLabelUneededCols(x base.EngineMigration) error { // Make sure the columns exist before dropping them type Label struct { QueryString string diff --git a/models/migrations/v1_11/v105.go b/modelmigration/v1_11/v105.go similarity index 79% rename from models/migrations/v1_11/v105.go rename to modelmigration/v1_11/v105.go index 49544148f8..182bb0cb73 100644 --- a/models/migrations/v1_11/v105.go +++ b/modelmigration/v1_11/v105.go @@ -3,9 +3,9 @@ package v1_11 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddTeamIncludesAllRepositories(x db.EngineMigration) error { +func AddTeamIncludesAllRepositories(x base.EngineMigration) error { type Team struct { ID int64 `xorm:"pk autoincr"` IncludesAllRepositories bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_11/v106.go b/modelmigration/v1_11/v106.go similarity index 84% rename from models/migrations/v1_11/v106.go rename to modelmigration/v1_11/v106.go index 8e5848cb90..951e9c596b 100644 --- a/models/migrations/v1_11/v106.go +++ b/modelmigration/v1_11/v106.go @@ -3,7 +3,7 @@ package v1_11 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" // RepoWatchMode specifies what kind of watch the user has on a repository type RepoWatchMode int8 @@ -14,7 +14,7 @@ type Watch struct { Mode RepoWatchMode `xorm:"SMALLINT NOT NULL DEFAULT 1"` } -func AddModeColumnToWatch(x db.EngineMigration) error { +func AddModeColumnToWatch(x base.EngineMigration) error { if err := x.Sync(new(Watch)); err != nil { return err } diff --git a/models/migrations/v1_11/v107.go b/modelmigration/v1_11/v107.go similarity index 73% rename from models/migrations/v1_11/v107.go rename to modelmigration/v1_11/v107.go index 83efb24253..92aee18800 100644 --- a/models/migrations/v1_11/v107.go +++ b/modelmigration/v1_11/v107.go @@ -3,9 +3,9 @@ package v1_11 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddTemplateToRepo(x db.EngineMigration) error { +func AddTemplateToRepo(x base.EngineMigration) error { type Repository struct { IsTemplate bool `xorm:"INDEX NOT NULL DEFAULT false"` TemplateID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_11/v108.go b/modelmigration/v1_11/v108.go similarity index 69% rename from models/migrations/v1_11/v108.go rename to modelmigration/v1_11/v108.go index a8b1e50b11..fb22d23bc3 100644 --- a/models/migrations/v1_11/v108.go +++ b/modelmigration/v1_11/v108.go @@ -3,9 +3,9 @@ package v1_11 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddCommentIDOnNotification(x db.EngineMigration) error { +func AddCommentIDOnNotification(x base.EngineMigration) error { type Notification struct { ID int64 `xorm:"pk autoincr"` CommentID int64 diff --git a/models/migrations/v1_11/v109.go b/modelmigration/v1_11/v109.go similarity index 66% rename from models/migrations/v1_11/v109.go rename to modelmigration/v1_11/v109.go index 63f4e521ef..26e50c493c 100644 --- a/models/migrations/v1_11/v109.go +++ b/modelmigration/v1_11/v109.go @@ -3,9 +3,9 @@ package v1_11 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddCanCreateOrgRepoColumnForTeam(x db.EngineMigration) error { +func AddCanCreateOrgRepoColumnForTeam(x base.EngineMigration) error { type Team struct { CanCreateOrgRepo bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_11/v110.go b/modelmigration/v1_11/v110.go similarity index 88% rename from models/migrations/v1_11/v110.go rename to modelmigration/v1_11/v110.go index ccd5bb0fc1..7a24a3bb35 100644 --- a/models/migrations/v1_11/v110.go +++ b/modelmigration/v1_11/v110.go @@ -4,12 +4,12 @@ package v1_11 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) -func ChangeReviewContentToText(x db.EngineMigration) error { +func ChangeReviewContentToText(x base.EngineMigration) error { switch x.Dialect().URI().DBType { case schemas.MYSQL: _, err := x.Exec("ALTER TABLE review MODIFY COLUMN content TEXT") diff --git a/models/migrations/v1_11/v111.go b/modelmigration/v1_11/v111.go similarity index 97% rename from models/migrations/v1_11/v111.go rename to modelmigration/v1_11/v111.go index 7f3cf4fc92..25f911a6df 100644 --- a/models/migrations/v1_11/v111.go +++ b/modelmigration/v1_11/v111.go @@ -7,10 +7,10 @@ import ( "fmt" "slices" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddBranchProtectionCanPushAndEnableWhitelist(x db.EngineMigration) error { +func AddBranchProtectionCanPushAndEnableWhitelist(x base.EngineMigration) error { type ProtectedBranch struct { CanPush bool `xorm:"NOT NULL DEFAULT false"` EnableApprovalsWhitelist bool `xorm:"NOT NULL DEFAULT false"` @@ -132,7 +132,7 @@ func AddBranchProtectionCanPushAndEnableWhitelist(x db.EngineMigration) error { } // getUserRepoPermission static function based on issues_model.IsOfficialReviewer at 5d78792385 - getUserRepoPermission := func(sess db.Session, repo *Repository, user *User) (Permission, error) { + getUserRepoPermission := func(sess base.Session, repo *Repository, user *User) (Permission, error) { var perm Permission repoOwner := new(User) @@ -305,7 +305,7 @@ func AddBranchProtectionCanPushAndEnableWhitelist(x db.EngineMigration) error { } // isOfficialReviewer static function based on 5d78792385 - isOfficialReviewer := func(sess db.Session, issueID int64, reviewer *User) (bool, error) { + isOfficialReviewer := func(sess base.Session, issueID int64, reviewer *User) (bool, error) { pr := new(PullRequest) has, err := sess.ID(issueID).Get(pr) if err != nil { diff --git a/models/migrations/v1_11/v112.go b/modelmigration/v1_11/v112.go similarity index 91% rename from models/migrations/v1_11/v112.go rename to modelmigration/v1_11/v112.go index 1acc7e6dfa..14906d51cc 100644 --- a/models/migrations/v1_11/v112.go +++ b/modelmigration/v1_11/v112.go @@ -6,7 +6,7 @@ package v1_11 import ( "path/filepath" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" "gitea.dev/modules/setting" "gitea.dev/modules/util" @@ -14,7 +14,7 @@ import ( "xorm.io/builder" ) -func RemoveAttachmentMissedRepo(x db.EngineMigration) error { +func RemoveAttachmentMissedRepo(x base.EngineMigration) error { type Attachment struct { UUID string `xorm:"uuid"` } diff --git a/models/migrations/v1_11/v113.go b/modelmigration/v1_11/v113.go similarity index 74% rename from models/migrations/v1_11/v113.go rename to modelmigration/v1_11/v113.go index 0cdf0a9dfe..cd091110da 100644 --- a/models/migrations/v1_11/v113.go +++ b/modelmigration/v1_11/v113.go @@ -6,10 +6,10 @@ package v1_11 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func FeatureChangeTargetBranch(x db.EngineMigration) error { +func FeatureChangeTargetBranch(x base.EngineMigration) error { type Comment struct { OldRef string NewRef string diff --git a/models/migrations/v1_11/v114.go b/modelmigration/v1_11/v114.go similarity index 91% rename from models/migrations/v1_11/v114.go rename to modelmigration/v1_11/v114.go index 3402542856..51e39a8670 100644 --- a/models/migrations/v1_11/v114.go +++ b/modelmigration/v1_11/v114.go @@ -6,10 +6,10 @@ package v1_11 import ( "net/url" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func SanitizeOriginalURL(x db.EngineMigration) error { +func SanitizeOriginalURL(x base.EngineMigration) error { type Repository struct { ID int64 OriginalURL string `xorm:"VARCHAR(2048)"` diff --git a/models/migrations/v1_11/v115.go b/modelmigration/v1_11/v115.go similarity index 97% rename from models/migrations/v1_11/v115.go rename to modelmigration/v1_11/v115.go index d63c9c09ec..ae777d2c37 100644 --- a/models/migrations/v1_11/v115.go +++ b/modelmigration/v1_11/v115.go @@ -12,14 +12,14 @@ import ( "path/filepath" "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/container" "gitea.dev/modules/log" "gitea.dev/modules/setting" "gitea.dev/modules/util" ) -func RenameExistingUserAvatarName(x db.EngineMigration) error { +func RenameExistingUserAvatarName(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_11/v116.go b/modelmigration/v1_11/v116.go similarity index 84% rename from models/migrations/v1_11/v116.go rename to modelmigration/v1_11/v116.go index 9397d2a02c..78399063fb 100644 --- a/models/migrations/v1_11/v116.go +++ b/modelmigration/v1_11/v116.go @@ -3,9 +3,9 @@ package v1_11 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func ExtendTrackedTimes(x db.EngineMigration) error { +func ExtendTrackedTimes(x base.EngineMigration) error { type TrackedTime struct { Time int64 `xorm:"NOT NULL"` Deleted bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_12/v117.go b/modelmigration/v1_12/v117.go similarity index 70% rename from models/migrations/v1_12/v117.go rename to modelmigration/v1_12/v117.go index d15c55cac3..92582274d5 100644 --- a/models/migrations/v1_12/v117.go +++ b/modelmigration/v1_12/v117.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddBlockOnRejectedReviews(x db.EngineMigration) error { +func AddBlockOnRejectedReviews(x base.EngineMigration) error { type ProtectedBranch struct { BlockOnRejectedReviews bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_12/v118.go b/modelmigration/v1_12/v118.go similarity index 82% rename from models/migrations/v1_12/v118.go rename to modelmigration/v1_12/v118.go index 878b0e8b24..d312946670 100644 --- a/models/migrations/v1_12/v118.go +++ b/modelmigration/v1_12/v118.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddReviewCommitAndStale(x db.EngineMigration) error { +func AddReviewCommitAndStale(x base.EngineMigration) error { type Review struct { CommitID string `xorm:"VARCHAR(40)"` Stale bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_12/v119.go b/modelmigration/v1_12/v119.go similarity index 72% rename from models/migrations/v1_12/v119.go rename to modelmigration/v1_12/v119.go index b4ed7c42a4..968faa444d 100644 --- a/models/migrations/v1_12/v119.go +++ b/modelmigration/v1_12/v119.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func FixMigratedRepositoryServiceType(x db.EngineMigration) error { +func FixMigratedRepositoryServiceType(x base.EngineMigration) error { // structs.GithubService: // GithubService = 2 _, err := x.Exec("UPDATE repository SET original_service_type = ? WHERE original_url LIKE 'https://github.com/%'", 2) diff --git a/models/migrations/v1_12/v120.go b/modelmigration/v1_12/v120.go similarity index 77% rename from models/migrations/v1_12/v120.go rename to modelmigration/v1_12/v120.go index 7f0088346f..7f96b4e658 100644 --- a/models/migrations/v1_12/v120.go +++ b/modelmigration/v1_12/v120.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddOwnerNameOnRepository(x db.EngineMigration) error { +func AddOwnerNameOnRepository(x base.EngineMigration) error { type Repository struct { OwnerName string } diff --git a/models/migrations/v1_12/v121.go b/modelmigration/v1_12/v121.go similarity index 75% rename from models/migrations/v1_12/v121.go rename to modelmigration/v1_12/v121.go index fc436259b9..965ef17601 100644 --- a/models/migrations/v1_12/v121.go +++ b/modelmigration/v1_12/v121.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIsRestricted(x db.EngineMigration) error { +func AddIsRestricted(x base.EngineMigration) error { // User see models/user.go type User struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_12/v122.go b/modelmigration/v1_12/v122.go similarity index 70% rename from models/migrations/v1_12/v122.go rename to modelmigration/v1_12/v122.go index c2d114d925..06f3d0a7ac 100644 --- a/models/migrations/v1_12/v122.go +++ b/modelmigration/v1_12/v122.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddRequireSignedCommits(x db.EngineMigration) error { +func AddRequireSignedCommits(x base.EngineMigration) error { type ProtectedBranch struct { RequireSignedCommits bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_12/v123.go b/modelmigration/v1_12/v123.go similarity index 72% rename from models/migrations/v1_12/v123.go rename to modelmigration/v1_12/v123.go index 159d0c2e0d..6d82f73c69 100644 --- a/models/migrations/v1_12/v123.go +++ b/modelmigration/v1_12/v123.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddReactionOriginals(x db.EngineMigration) error { +func AddReactionOriginals(x base.EngineMigration) error { type Reaction struct { OriginalAuthorID int64 `xorm:"INDEX NOT NULL DEFAULT(0)"` OriginalAuthor string diff --git a/models/migrations/v1_12/v124.go b/modelmigration/v1_12/v124.go similarity index 80% rename from models/migrations/v1_12/v124.go rename to modelmigration/v1_12/v124.go index 928d13f3a1..455bdfa29e 100644 --- a/models/migrations/v1_12/v124.go +++ b/modelmigration/v1_12/v124.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddUserRepoMissingColumns(x db.EngineMigration) error { +func AddUserRepoMissingColumns(x base.EngineMigration) error { type VisibleType int type User struct { PasswdHashAlgo string `xorm:"NOT NULL DEFAULT 'pbkdf2'"` diff --git a/models/migrations/v1_12/v125.go b/modelmigration/v1_12/v125.go similarity index 76% rename from models/migrations/v1_12/v125.go rename to modelmigration/v1_12/v125.go index c83c068b6b..8c031eca48 100644 --- a/models/migrations/v1_12/v125.go +++ b/modelmigration/v1_12/v125.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddReviewMigrateInfo(x db.EngineMigration) error { +func AddReviewMigrateInfo(x base.EngineMigration) error { type Review struct { OriginalAuthor string OriginalAuthorID int64 diff --git a/models/migrations/v1_12/v126.go b/modelmigration/v1_12/v126.go similarity index 85% rename from models/migrations/v1_12/v126.go rename to modelmigration/v1_12/v126.go index f74dac9985..1427993f79 100644 --- a/models/migrations/v1_12/v126.go +++ b/modelmigration/v1_12/v126.go @@ -4,12 +4,12 @@ package v1_12 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/builder" ) -func FixTopicRepositoryCount(x db.EngineMigration) error { +func FixTopicRepositoryCount(x base.EngineMigration) error { _, err := x.Exec(builder.Delete(builder.NotIn("`repo_id`", builder.Select("`id`").From("`repository`"))).From("`repo_topic`")) if err != nil { return err diff --git a/models/migrations/v1_12/v127.go b/modelmigration/v1_12/v127.go similarity index 93% rename from models/migrations/v1_12/v127.go rename to modelmigration/v1_12/v127.go index 2a2438bacc..455cd3c5d0 100644 --- a/models/migrations/v1_12/v127.go +++ b/modelmigration/v1_12/v127.go @@ -6,11 +6,11 @@ package v1_12 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddLanguageStats(x db.EngineMigration) error { +func AddLanguageStats(x base.EngineMigration) error { // LanguageStat see models/repo_language_stats.go type LanguageStat struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_12/v128.go b/modelmigration/v1_12/v128.go similarity index 96% rename from models/migrations/v1_12/v128.go rename to modelmigration/v1_12/v128.go index b2486ea3c6..6760d6f858 100644 --- a/models/migrations/v1_12/v128.go +++ b/modelmigration/v1_12/v128.go @@ -11,14 +11,14 @@ import ( "strings" "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/git" "gitea.dev/modules/git/gitcmd" "gitea.dev/modules/log" "gitea.dev/modules/setting" ) -func FixMergeBase(ctx context.Context, x db.EngineMigration) error { +func FixMergeBase(ctx context.Context, x base.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) index"` @@ -114,7 +114,7 @@ func FixMergeBase(ctx context.Context, x db.EngineMigration) error { } } pr.MergeBase = strings.TrimSpace(pr.MergeBase) - x.ID(pr.ID).Cols("merge_base").Update(pr) + _, _ = x.ID(pr.ID).Cols("merge_base").Update(pr) i++ select { case <-ticker.C: diff --git a/models/migrations/v1_12/v129.go b/modelmigration/v1_12/v129.go similarity index 77% rename from models/migrations/v1_12/v129.go rename to modelmigration/v1_12/v129.go index 5867530090..15d85324ad 100644 --- a/models/migrations/v1_12/v129.go +++ b/modelmigration/v1_12/v129.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func PurgeUnusedDependencies(x db.EngineMigration) error { +func PurgeUnusedDependencies(x base.EngineMigration) error { if _, err := x.Exec("DELETE FROM issue_dependency WHERE issue_id NOT IN (SELECT id FROM issue)"); err != nil { return err } diff --git a/models/migrations/v1_12/v130.go b/modelmigration/v1_12/v130.go similarity index 96% rename from models/migrations/v1_12/v130.go rename to modelmigration/v1_12/v130.go index 290cb0af05..343bac4985 100644 --- a/models/migrations/v1_12/v130.go +++ b/modelmigration/v1_12/v130.go @@ -4,12 +4,12 @@ package v1_12 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/json" "gitea.dev/modules/setting" ) -func ExpandWebhooks(x db.EngineMigration) error { +func ExpandWebhooks(x base.EngineMigration) error { type HookEvents struct { Create bool `json:"create"` Delete bool `json:"delete"` diff --git a/models/migrations/v1_12/v131.go b/modelmigration/v1_12/v131.go similarity index 76% rename from models/migrations/v1_12/v131.go rename to modelmigration/v1_12/v131.go index 35831d0cc6..9a78926ade 100644 --- a/models/migrations/v1_12/v131.go +++ b/modelmigration/v1_12/v131.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddSystemWebhookColumn(x db.EngineMigration) error { +func AddSystemWebhookColumn(x base.EngineMigration) error { type Webhook struct { IsSystemWebhook bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_12/v132.go b/modelmigration/v1_12/v132.go similarity index 74% rename from models/migrations/v1_12/v132.go rename to modelmigration/v1_12/v132.go index 2248251b57..b788d72a57 100644 --- a/models/migrations/v1_12/v132.go +++ b/modelmigration/v1_12/v132.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddBranchProtectionProtectedFilesColumn(x db.EngineMigration) error { +func AddBranchProtectionProtectedFilesColumn(x base.EngineMigration) error { type ProtectedBranch struct { ProtectedFilePatterns string `xorm:"TEXT"` } diff --git a/models/migrations/v1_12/v133.go b/modelmigration/v1_12/v133.go similarity index 75% rename from models/migrations/v1_12/v133.go rename to modelmigration/v1_12/v133.go index 6eb6cdc504..435a4c64e8 100644 --- a/models/migrations/v1_12/v133.go +++ b/modelmigration/v1_12/v133.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddEmailHashTable(x db.EngineMigration) error { +func AddEmailHashTable(x base.EngineMigration) error { // EmailHash represents a pre-generated hash map type EmailHash struct { Hash string `xorm:"pk varchar(32)"` diff --git a/models/migrations/v1_12/v134.go b/modelmigration/v1_12/v134.go similarity index 95% rename from models/migrations/v1_12/v134.go rename to modelmigration/v1_12/v134.go index 017fb547d3..dc70923a22 100644 --- a/models/migrations/v1_12/v134.go +++ b/modelmigration/v1_12/v134.go @@ -11,13 +11,13 @@ import ( "strings" "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/git/gitcmd" "gitea.dev/modules/log" "gitea.dev/modules/setting" ) -func RefixMergeBase(ctx context.Context, x db.EngineMigration) error { +func RefixMergeBase(ctx context.Context, x base.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) index"` @@ -100,7 +100,7 @@ func RefixMergeBase(ctx context.Context, x db.EngineMigration) error { continue } pr.MergeBase = strings.TrimSpace(pr.MergeBase) - x.ID(pr.ID).Cols("merge_base").Update(pr) + _, _ = x.ID(pr.ID).Cols("merge_base").Update(pr) i++ select { case <-ticker.C: diff --git a/models/migrations/v1_12/v135.go b/modelmigration/v1_12/v135.go similarity index 75% rename from models/migrations/v1_12/v135.go rename to modelmigration/v1_12/v135.go index 00664ca2ff..ed84ec01b9 100644 --- a/models/migrations/v1_12/v135.go +++ b/modelmigration/v1_12/v135.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddOrgIDLabelColumn(x db.EngineMigration) error { +func AddOrgIDLabelColumn(x base.EngineMigration) error { type Label struct { OrgID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_12/v136.go b/modelmigration/v1_12/v136.go similarity index 96% rename from models/migrations/v1_12/v136.go rename to modelmigration/v1_12/v136.go index 76b882d7a2..069bcc6a52 100644 --- a/models/migrations/v1_12/v136.go +++ b/modelmigration/v1_12/v136.go @@ -8,7 +8,7 @@ import ( "math" "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" repo_model "gitea.dev/models/repo" "gitea.dev/modules/gitrepo" "gitea.dev/modules/graceful" @@ -16,7 +16,7 @@ import ( "gitea.dev/modules/setting" ) -func AddCommitDivergenceToPulls(x db.EngineMigration) error { +func AddCommitDivergenceToPulls(x base.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) index"` diff --git a/models/migrations/v1_12/v137.go b/modelmigration/v1_12/v137.go similarity index 70% rename from models/migrations/v1_12/v137.go rename to modelmigration/v1_12/v137.go index c8ef8dbd43..0dc5af986e 100644 --- a/models/migrations/v1_12/v137.go +++ b/modelmigration/v1_12/v137.go @@ -3,9 +3,9 @@ package v1_12 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddBlockOnOutdatedBranch(x db.EngineMigration) error { +func AddBlockOnOutdatedBranch(x base.EngineMigration) error { type ProtectedBranch struct { BlockOnOutdatedBranch bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_12/v138.go b/modelmigration/v1_12/v138.go similarity index 73% rename from models/migrations/v1_12/v138.go rename to modelmigration/v1_12/v138.go index fa418abc70..c59d1f7879 100644 --- a/models/migrations/v1_12/v138.go +++ b/modelmigration/v1_12/v138.go @@ -6,10 +6,10 @@ package v1_12 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddResolveDoerIDCommentColumn(x db.EngineMigration) error { +func AddResolveDoerIDCommentColumn(x base.EngineMigration) error { type Comment struct { ResolveDoerID int64 } diff --git a/models/migrations/v1_12/v139.go b/modelmigration/v1_12/v139.go similarity index 87% rename from models/migrations/v1_12/v139.go rename to modelmigration/v1_12/v139.go index 6c57fdef0b..9e21ab5e0a 100644 --- a/models/migrations/v1_12/v139.go +++ b/modelmigration/v1_12/v139.go @@ -4,11 +4,11 @@ package v1_12 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func PrependRefsHeadsToIssueRefs(x db.EngineMigration) error { +func PrependRefsHeadsToIssueRefs(x base.EngineMigration) error { var query string switch { diff --git a/models/migrations/v1_13/v140.go b/modelmigration/v1_13/v140.go similarity index 84% rename from models/migrations/v1_13/v140.go rename to modelmigration/v1_13/v140.go index 8c8e5d795a..55efa6b637 100644 --- a/models/migrations/v1_13/v140.go +++ b/modelmigration/v1_13/v140.go @@ -6,12 +6,11 @@ package v1_13 import ( "fmt" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func FixLanguageStatsToSaveSize(x db.EngineMigration) error { +func FixLanguageStatsToSaveSize(x base.EngineMigration) error { // LanguageStat see models/repo_language_stats.go type LanguageStat struct { Size int64 `xorm:"NOT NULL DEFAULT 0"` @@ -31,7 +30,7 @@ func FixLanguageStatsToSaveSize(x db.EngineMigration) error { return fmt.Errorf("Sync: %w", err) } - x.Delete(&RepoIndexerStatus{IndexerType: RepoIndexerTypeStats}) + _, _ = x.Delete(&RepoIndexerStatus{IndexerType: RepoIndexerTypeStats}) // Delete language stat statuses truncExpr := "TRUNCATE TABLE" diff --git a/models/migrations/v1_13/v141.go b/modelmigration/v1_13/v141.go similarity index 74% rename from models/migrations/v1_13/v141.go rename to modelmigration/v1_13/v141.go index e6d56ffa5e..435dc4bf38 100644 --- a/models/migrations/v1_13/v141.go +++ b/modelmigration/v1_13/v141.go @@ -6,10 +6,10 @@ package v1_13 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddKeepActivityPrivateUserColumn(x db.EngineMigration) error { +func AddKeepActivityPrivateUserColumn(x base.EngineMigration) error { type User struct { KeepActivityPrivate bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_13/v142.go b/modelmigration/v1_13/v142.go similarity index 83% rename from models/migrations/v1_13/v142.go rename to modelmigration/v1_13/v142.go index 189504772f..e98f4075e9 100644 --- a/models/migrations/v1_13/v142.go +++ b/modelmigration/v1_13/v142.go @@ -4,13 +4,13 @@ package v1_13 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" "xorm.io/builder" ) -func SetIsArchivedToFalse(x db.EngineMigration) error { +func SetIsArchivedToFalse(x base.EngineMigration) error { type Repository struct { IsArchived bool `xorm:"INDEX"` } diff --git a/models/migrations/v1_13/v143.go b/modelmigration/v1_13/v143.go similarity index 91% rename from models/migrations/v1_13/v143.go rename to modelmigration/v1_13/v143.go index 283611e764..2c299f7b5a 100644 --- a/models/migrations/v1_13/v143.go +++ b/modelmigration/v1_13/v143.go @@ -4,11 +4,11 @@ package v1_13 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" ) -func RecalculateStars(x db.EngineMigration) (err error) { +func RecalculateStars(x base.EngineMigration) (err error) { // because of issue https://github.com/go-gitea/gitea/issues/11949, // recalculate Stars number for all users to fully fix it. diff --git a/models/migrations/v1_13/v144.go b/modelmigration/v1_13/v144.go similarity index 84% rename from models/migrations/v1_13/v144.go rename to modelmigration/v1_13/v144.go index 0e51ab9cb9..f41c6199a8 100644 --- a/models/migrations/v1_13/v144.go +++ b/modelmigration/v1_13/v144.go @@ -4,13 +4,13 @@ package v1_13 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" "xorm.io/builder" ) -func UpdateMatrixWebhookHTTPMethod(x db.EngineMigration) error { +func UpdateMatrixWebhookHTTPMethod(x base.EngineMigration) error { matrixHookTaskType := 9 // value comes from the models package type Webhook struct { HTTPMethod string diff --git a/models/migrations/v1_13/v145.go b/modelmigration/v1_13/v145.go similarity index 90% rename from models/migrations/v1_13/v145.go rename to modelmigration/v1_13/v145.go index b46b269650..6a99fb017a 100644 --- a/models/migrations/v1_13/v145.go +++ b/modelmigration/v1_13/v145.go @@ -6,11 +6,11 @@ package v1_13 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func IncreaseLanguageField(x db.EngineMigration) error { +func IncreaseLanguageField(x base.EngineMigration) error { type LanguageStat struct { RepoID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` Language string `xorm:"VARCHAR(50) UNIQUE(s) INDEX NOT NULL"` @@ -50,9 +50,9 @@ func IncreaseLanguageField(x db.EngineMigration) error { constraints := make([]string, 0) if err := sess.SQL(`SELECT i.name AS Name FROM sys.indexes i INNER JOIN sys.index_columns ic - ON i.index_id = ic.index_id AND i.object_id = ic.object_id - INNER JOIN sys.tables AS t - ON t.object_id = i.object_id + ON i.index_id = ic.index_id AND i.object_id = ic.object_id + INNER JOIN sys.tables AS t + ON t.object_id = i.object_id INNER JOIN sys.columns c ON t.object_id = c.object_id AND ic.column_id = c.column_id WHERE t.name = 'language_stat' AND c.name = 'language'`).Find(&constraints); err != nil { diff --git a/models/migrations/v1_13/v146.go b/modelmigration/v1_13/v146.go similarity index 95% rename from models/migrations/v1_13/v146.go rename to modelmigration/v1_13/v146.go index dc0cb1a4e1..ce37105c1f 100644 --- a/models/migrations/v1_13/v146.go +++ b/modelmigration/v1_13/v146.go @@ -4,11 +4,11 @@ package v1_13 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddProjectsInfo(x db.EngineMigration) error { +func AddProjectsInfo(x base.EngineMigration) error { // Create new tables type ( ProjectType uint8 diff --git a/models/migrations/v1_13/v147.go b/modelmigration/v1_13/v147.go similarity index 97% rename from models/migrations/v1_13/v147.go rename to modelmigration/v1_13/v147.go index 314b4578b6..beb19cf62e 100644 --- a/models/migrations/v1_13/v147.go +++ b/modelmigration/v1_13/v147.go @@ -4,11 +4,11 @@ package v1_13 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func CreateReviewsForCodeComments(x db.EngineMigration) error { +func CreateReviewsForCodeComments(x base.EngineMigration) error { // Review type Review struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_13/v148.go b/modelmigration/v1_13/v148.go similarity index 69% rename from models/migrations/v1_13/v148.go rename to modelmigration/v1_13/v148.go index c1c27a49d4..2244302b18 100644 --- a/models/migrations/v1_13/v148.go +++ b/modelmigration/v1_13/v148.go @@ -3,9 +3,9 @@ package v1_13 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func PurgeInvalidDependenciesComments(x db.EngineMigration) error { +func PurgeInvalidDependenciesComments(x base.EngineMigration) error { _, err := x.Exec("DELETE FROM comment WHERE dependent_issue_id != 0 AND dependent_issue_id NOT IN (SELECT id FROM issue)") return err } diff --git a/models/migrations/v1_13/v149.go b/modelmigration/v1_13/v149.go similarity index 79% rename from models/migrations/v1_13/v149.go rename to modelmigration/v1_13/v149.go index 09f1e81851..ccef7814e5 100644 --- a/models/migrations/v1_13/v149.go +++ b/modelmigration/v1_13/v149.go @@ -6,11 +6,11 @@ package v1_13 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddCreatedAndUpdatedToMilestones(x db.EngineMigration) error { +func AddCreatedAndUpdatedToMilestones(x base.EngineMigration) error { type Milestone struct { CreatedUnix timeutil.TimeStamp `xorm:"INDEX created"` UpdatedUnix timeutil.TimeStamp `xorm:"INDEX updated"` diff --git a/models/migrations/v1_13/v150.go b/modelmigration/v1_13/v150.go similarity index 78% rename from models/migrations/v1_13/v150.go rename to modelmigration/v1_13/v150.go index a1e8236f7d..1b22307057 100644 --- a/models/migrations/v1_13/v150.go +++ b/modelmigration/v1_13/v150.go @@ -4,12 +4,11 @@ package v1_13 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddPrimaryKeyToRepoTopic(x db.EngineMigration) error { +func AddPrimaryKeyToRepoTopic(x base.EngineMigration) error { // Topic represents a topic of repositories type Topic struct { ID int64 `xorm:"pk autoincr"` @@ -31,8 +30,8 @@ func AddPrimaryKeyToRepoTopic(x db.EngineMigration) error { return err } - base.RecreateTable(sess, &Topic{}) - base.RecreateTable(sess, &RepoTopic{}) + _ = base.RecreateTable(sess, &Topic{}) + _ = base.RecreateTable(sess, &RepoTopic{}) return sess.Commit() } diff --git a/models/migrations/v1_13/v151.go b/modelmigration/v1_13/v151.go similarity index 98% rename from models/migrations/v1_13/v151.go rename to modelmigration/v1_13/v151.go index 995d4b32fa..becbcb9af1 100644 --- a/models/migrations/v1_13/v151.go +++ b/modelmigration/v1_13/v151.go @@ -9,14 +9,14 @@ import ( "fmt" "strings" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" "gitea.dev/modules/setting" "xorm.io/xorm/schemas" ) -func SetDefaultPasswordToArgon2(x db.EngineMigration) error { +func SetDefaultPasswordToArgon2(x base.EngineMigration) error { switch { case setting.Database.Type.IsMySQL(): _, err := x.Exec("ALTER TABLE `user` ALTER passwd_hash_algo SET DEFAULT 'argon2';") diff --git a/models/migrations/v1_13/v152.go b/modelmigration/v1_13/v152.go similarity index 64% rename from models/migrations/v1_13/v152.go rename to modelmigration/v1_13/v152.go index 42055d0e78..a14a81ab1f 100644 --- a/models/migrations/v1_13/v152.go +++ b/modelmigration/v1_13/v152.go @@ -3,9 +3,9 @@ package v1_13 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddTrustModelToRepository(x db.EngineMigration) error { +func AddTrustModelToRepository(x base.EngineMigration) error { type Repository struct { TrustModel int } diff --git a/models/migrations/v1_13/v153.go b/modelmigration/v1_13/v153.go similarity index 77% rename from models/migrations/v1_13/v153.go rename to modelmigration/v1_13/v153.go index c04d1b64a3..e0609fec81 100644 --- a/models/migrations/v1_13/v153.go +++ b/modelmigration/v1_13/v153.go @@ -3,9 +3,9 @@ package v1_13 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddTeamReviewRequestSupport(x db.EngineMigration) error { +func AddTeamReviewRequestSupport(x base.EngineMigration) error { type Review struct { ReviewerTeamID int64 `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_13/v154.go b/modelmigration/v1_13/v154.go similarity index 94% rename from models/migrations/v1_13/v154.go rename to modelmigration/v1_13/v154.go index 1954a04692..ee70f0d85c 100644 --- a/models/migrations/v1_13/v154.go +++ b/modelmigration/v1_13/v154.go @@ -4,11 +4,11 @@ package v1_13 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddTimeStamps(x db.EngineMigration) error { +func AddTimeStamps(x base.EngineMigration) error { // this will add timestamps where it is useful to have // Star represents a starred repo by an user. diff --git a/models/migrations/v1_14/main_test.go b/modelmigration/v1_14/main_test.go similarity index 80% rename from models/migrations/v1_14/main_test.go rename to modelmigration/v1_14/main_test.go index 31aacc5211..98cf00c9d0 100644 --- a/models/migrations/v1_14/main_test.go +++ b/modelmigration/v1_14/main_test.go @@ -6,7 +6,7 @@ package v1_14 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_14/v155.go b/modelmigration/v1_14/v155.go similarity index 73% rename from models/migrations/v1_14/v155.go rename to modelmigration/v1_14/v155.go index f605c18d57..cd5d30991d 100644 --- a/models/migrations/v1_14/v155.go +++ b/modelmigration/v1_14/v155.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddChangedProtectedFilesPullRequestColumn(x db.EngineMigration) error { +func AddChangedProtectedFilesPullRequestColumn(x base.EngineMigration) error { type PullRequest struct { ChangedProtectedFiles []string `xorm:"TEXT JSON"` } diff --git a/models/migrations/v1_14/v156.go b/modelmigration/v1_14/v156.go similarity index 97% rename from models/migrations/v1_14/v156.go rename to modelmigration/v1_14/v156.go index 429269d991..f9be57ffe3 100644 --- a/models/migrations/v1_14/v156.go +++ b/modelmigration/v1_14/v156.go @@ -8,13 +8,13 @@ import ( "fmt" "strings" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" repo_model "gitea.dev/models/repo" "gitea.dev/modules/git" "gitea.dev/modules/log" ) -func FixPublisherIDforTagReleases(ctx context.Context, x db.EngineMigration) error { +func FixPublisherIDforTagReleases(ctx context.Context, x base.EngineMigration) error { type Release struct { ID int64 RepoID int64 diff --git a/models/migrations/v1_14/v157.go b/modelmigration/v1_14/v157.go similarity index 92% rename from models/migrations/v1_14/v157.go rename to modelmigration/v1_14/v157.go index b6058a0303..55ae229319 100644 --- a/models/migrations/v1_14/v157.go +++ b/modelmigration/v1_14/v157.go @@ -3,9 +3,9 @@ package v1_14 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func FixRepoTopics(x db.EngineMigration) error { +func FixRepoTopics(x base.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` Topics []string `xorm:"TEXT JSON"` diff --git a/models/migrations/v1_14/v158.go b/modelmigration/v1_14/v158.go similarity index 96% rename from models/migrations/v1_14/v158.go rename to modelmigration/v1_14/v158.go index 62f8036b35..56d1e6a7db 100644 --- a/models/migrations/v1_14/v158.go +++ b/modelmigration/v1_14/v158.go @@ -7,12 +7,12 @@ import ( "errors" "strconv" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" "gitea.dev/modules/setting" ) -func UpdateCodeCommentReplies(x db.EngineMigration) error { +func UpdateCodeCommentReplies(x base.EngineMigration) error { type Comment struct { ID int64 `xorm:"pk autoincr"` CommitSHA string `xorm:"VARCHAR(40)"` diff --git a/models/migrations/v1_14/v159.go b/modelmigration/v1_14/v159.go similarity index 89% rename from models/migrations/v1_14/v159.go rename to modelmigration/v1_14/v159.go index 1dd2e1c639..363ccbfb7d 100644 --- a/models/migrations/v1_14/v159.go +++ b/modelmigration/v1_14/v159.go @@ -4,12 +4,11 @@ package v1_14 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func UpdateReactionConstraint(x db.EngineMigration) error { +func UpdateReactionConstraint(x base.EngineMigration) error { // Reaction represents a reactions on issues and comments. type Reaction struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_14/v160.go b/modelmigration/v1_14/v160.go similarity index 69% rename from models/migrations/v1_14/v160.go rename to modelmigration/v1_14/v160.go index b216929387..5bdd552bac 100644 --- a/models/migrations/v1_14/v160.go +++ b/modelmigration/v1_14/v160.go @@ -3,9 +3,9 @@ package v1_14 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddBlockOnOfficialReviewRequests(x db.EngineMigration) error { +func AddBlockOnOfficialReviewRequests(x base.EngineMigration) error { type ProtectedBranch struct { BlockOnOfficialReviewRequests bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_14/v161.go b/modelmigration/v1_14/v161.go similarity index 91% rename from models/migrations/v1_14/v161.go rename to modelmigration/v1_14/v161.go index 78ef19c34d..85c0ed5b44 100644 --- a/models/migrations/v1_14/v161.go +++ b/modelmigration/v1_14/v161.go @@ -6,11 +6,10 @@ package v1_14 import ( "context" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func ConvertTaskTypeToString(x db.EngineMigration) error { +func ConvertTaskTypeToString(x base.EngineMigration) error { const ( GOGS int = iota + 1 SLACK diff --git a/models/migrations/v1_14/v162.go b/modelmigration/v1_14/v162.go similarity index 89% rename from models/migrations/v1_14/v162.go rename to modelmigration/v1_14/v162.go index 02bc48938e..eb2ebe9dce 100644 --- a/models/migrations/v1_14/v162.go +++ b/modelmigration/v1_14/v162.go @@ -4,11 +4,10 @@ package v1_14 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func ConvertWebhookTaskTypeToString(x db.EngineMigration) error { +func ConvertWebhookTaskTypeToString(x base.EngineMigration) error { const ( GOGS int = iota + 1 SLACK diff --git a/models/migrations/v1_14/v163.go b/modelmigration/v1_14/v163.go similarity index 83% rename from models/migrations/v1_14/v163.go rename to modelmigration/v1_14/v163.go index 08819d2dc5..d69b5051db 100644 --- a/models/migrations/v1_14/v163.go +++ b/modelmigration/v1_14/v163.go @@ -4,11 +4,10 @@ package v1_14 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func ConvertTopicNameFrom25To50(x db.EngineMigration) error { +func ConvertTopicNameFrom25To50(x base.EngineMigration) error { type Topic struct { ID int64 `xorm:"pk autoincr"` Name string `xorm:"UNIQUE VARCHAR(50)"` diff --git a/models/migrations/v1_14/v164.go b/modelmigration/v1_14/v164.go similarity index 90% rename from models/migrations/v1_14/v164.go rename to modelmigration/v1_14/v164.go index 58325ca404..ffc0b44b68 100644 --- a/models/migrations/v1_14/v164.go +++ b/modelmigration/v1_14/v164.go @@ -6,7 +6,7 @@ package v1_14 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) // OAuth2Grant here is a snapshot of models.OAuth2Grant for this version @@ -29,7 +29,7 @@ func (grant *OAuth2Grant) TableName() string { return "oauth2_grant" } -func AddScopeAndNonceColumnsToOAuth2Grant(x db.EngineMigration) error { +func AddScopeAndNonceColumnsToOAuth2Grant(x base.EngineMigration) error { if err := x.Sync(new(OAuth2Grant)); err != nil { return fmt.Errorf("Sync: %w", err) } diff --git a/models/migrations/v1_14/v165.go b/modelmigration/v1_14/v165.go similarity index 91% rename from models/migrations/v1_14/v165.go rename to modelmigration/v1_14/v165.go index d5fa4d008d..dc6577ea63 100644 --- a/models/migrations/v1_14/v165.go +++ b/modelmigration/v1_14/v165.go @@ -4,13 +4,12 @@ package v1_14 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) -func ConvertHookTaskTypeToVarcharAndTrim(x db.EngineMigration) error { +func ConvertHookTaskTypeToVarcharAndTrim(x base.EngineMigration) error { dbType := x.Dialect().URI().DBType if dbType == schemas.SQLITE { // For SQLITE, varchar or char will always be represented as TEXT return nil diff --git a/models/migrations/v1_14/v166.go b/modelmigration/v1_14/v166.go similarity index 96% rename from models/migrations/v1_14/v166.go rename to modelmigration/v1_14/v166.go index ca03363d55..7486e999be 100644 --- a/models/migrations/v1_14/v166.go +++ b/modelmigration/v1_14/v166.go @@ -7,7 +7,7 @@ import ( "crypto/sha256" "encoding/hex" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "golang.org/x/crypto/argon2" "golang.org/x/crypto/bcrypt" @@ -16,7 +16,7 @@ import ( "xorm.io/builder" ) -func RecalculateUserEmptyPWD(x db.EngineMigration) (err error) { +func RecalculateUserEmptyPWD(x base.EngineMigration) (err error) { const ( algoBcrypt = "bcrypt" algoScrypt = "scrypt" diff --git a/models/migrations/v1_14/v167.go b/modelmigration/v1_14/v167.go similarity index 80% rename from models/migrations/v1_14/v167.go rename to modelmigration/v1_14/v167.go index ac1e6c0498..38288a5d27 100644 --- a/models/migrations/v1_14/v167.go +++ b/modelmigration/v1_14/v167.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddUserRedirect(x db.EngineMigration) (err error) { +func AddUserRedirect(x base.EngineMigration) (err error) { type UserRedirect struct { ID int64 `xorm:"pk autoincr"` LowerName string `xorm:"UNIQUE(s) INDEX NOT NULL"` diff --git a/models/migrations/v1_14/v168.go b/modelmigration/v1_14/v168.go similarity index 51% rename from models/migrations/v1_14/v168.go rename to modelmigration/v1_14/v168.go index f8eda53fd8..8b7d02335e 100644 --- a/models/migrations/v1_14/v168.go +++ b/modelmigration/v1_14/v168.go @@ -3,8 +3,8 @@ package v1_14 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func RecreateUserTableToFixDefaultValues(_ db.EngineMigration) error { +func RecreateUserTableToFixDefaultValues(_ base.EngineMigration) error { return nil } diff --git a/models/migrations/v1_14/v169.go b/modelmigration/v1_14/v169.go similarity index 66% rename from models/migrations/v1_14/v169.go rename to modelmigration/v1_14/v169.go index 3bb542516b..4852c87316 100644 --- a/models/migrations/v1_14/v169.go +++ b/modelmigration/v1_14/v169.go @@ -3,9 +3,9 @@ package v1_14 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func CommentTypeDeleteBranchUseOldRef(x db.EngineMigration) error { +func CommentTypeDeleteBranchUseOldRef(x base.EngineMigration) error { _, err := x.Exec("UPDATE comment SET old_ref = commit_sha, commit_sha = '' WHERE type = 11") return err } diff --git a/models/migrations/v1_14/v170.go b/modelmigration/v1_14/v170.go similarity index 75% rename from models/migrations/v1_14/v170.go rename to modelmigration/v1_14/v170.go index 1626316a20..c43dc48e38 100644 --- a/models/migrations/v1_14/v170.go +++ b/modelmigration/v1_14/v170.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddDismissedReviewColumn(x db.EngineMigration) error { +func AddDismissedReviewColumn(x base.EngineMigration) error { type Review struct { Dismissed bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_14/v171.go b/modelmigration/v1_14/v171.go similarity index 75% rename from models/migrations/v1_14/v171.go rename to modelmigration/v1_14/v171.go index 4e6577592a..023af757b5 100644 --- a/models/migrations/v1_14/v171.go +++ b/modelmigration/v1_14/v171.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddSortingColToProjectBoard(x db.EngineMigration) error { +func AddSortingColToProjectBoard(x base.EngineMigration) error { type ProjectBoard struct { Sorting int8 `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_14/v172.go b/modelmigration/v1_14/v172.go similarity index 77% rename from models/migrations/v1_14/v172.go rename to modelmigration/v1_14/v172.go index d912ba3b78..bea2931ecb 100644 --- a/models/migrations/v1_14/v172.go +++ b/modelmigration/v1_14/v172.go @@ -4,11 +4,11 @@ package v1_14 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddSessionTable(x db.EngineMigration) error { +func AddSessionTable(x base.EngineMigration) error { type Session struct { Key string `xorm:"pk CHAR(16)"` Data []byte `xorm:"BLOB"` diff --git a/models/migrations/v1_14/v173.go b/modelmigration/v1_14/v173.go similarity index 74% rename from models/migrations/v1_14/v173.go rename to modelmigration/v1_14/v173.go index 51278211b5..6516436c91 100644 --- a/models/migrations/v1_14/v173.go +++ b/modelmigration/v1_14/v173.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddTimeIDCommentColumn(x db.EngineMigration) error { +func AddTimeIDCommentColumn(x base.EngineMigration) error { type Comment struct { TimeID int64 } diff --git a/models/migrations/v1_14/v174.go b/modelmigration/v1_14/v174.go similarity index 87% rename from models/migrations/v1_14/v174.go rename to modelmigration/v1_14/v174.go index 4e88e892c9..da3635ad82 100644 --- a/models/migrations/v1_14/v174.go +++ b/modelmigration/v1_14/v174.go @@ -6,10 +6,10 @@ package v1_14 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddRepoTransfer(x db.EngineMigration) error { +func AddRepoTransfer(x base.EngineMigration) error { type RepoTransfer struct { ID int64 `xorm:"pk autoincr"` DoerID int64 diff --git a/models/migrations/v1_14/v175.go b/modelmigration/v1_14/v175.go similarity index 94% rename from models/migrations/v1_14/v175.go rename to modelmigration/v1_14/v175.go index 556996e972..a52d13a11a 100644 --- a/models/migrations/v1_14/v175.go +++ b/modelmigration/v1_14/v175.go @@ -7,12 +7,12 @@ import ( "fmt" "regexp" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" "gitea.dev/modules/setting" ) -func FixPostgresIDSequences(x db.EngineMigration) error { +func FixPostgresIDSequences(x base.EngineMigration) error { if !setting.Database.Type.IsPostgreSQL() { return nil } diff --git a/models/migrations/v1_14/v176.go b/modelmigration/v1_14/v176.go similarity index 95% rename from models/migrations/v1_14/v176.go rename to modelmigration/v1_14/v176.go index a464ed56ec..ae1d24c4d2 100644 --- a/models/migrations/v1_14/v176.go +++ b/modelmigration/v1_14/v176.go @@ -3,12 +3,12 @@ package v1_14 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" // RemoveInvalidLabels looks through the database to look for comments and issue_labels // that refer to labels do not belong to the repository or organization that repository // that the issue is in -func RemoveInvalidLabels(x db.EngineMigration) error { +func RemoveInvalidLabels(x base.EngineMigration) error { type Comment struct { ID int64 `xorm:"pk autoincr"` Type int `xorm:"INDEX"` diff --git a/models/migrations/v1_14/v176_test.go b/modelmigration/v1_14/v176_test.go similarity index 98% rename from models/migrations/v1_14/v176_test.go rename to modelmigration/v1_14/v176_test.go index 7a830d8d51..efd0b97e9c 100644 --- a/models/migrations/v1_14/v176_test.go +++ b/modelmigration/v1_14/v176_test.go @@ -6,7 +6,7 @@ package v1_14 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_14/v177.go b/modelmigration/v1_14/v177.go similarity index 90% rename from models/migrations/v1_14/v177.go rename to modelmigration/v1_14/v177.go index 7230693909..b85d266f09 100644 --- a/models/migrations/v1_14/v177.go +++ b/modelmigration/v1_14/v177.go @@ -6,11 +6,11 @@ package v1_14 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) // DeleteOrphanedIssueLabels looks through the database for issue_labels where the label no longer exists and deletes them. -func DeleteOrphanedIssueLabels(x db.EngineMigration) error { +func DeleteOrphanedIssueLabels(x base.EngineMigration) error { type IssueLabel struct { ID int64 `xorm:"pk autoincr"` IssueID int64 `xorm:"UNIQUE(s)"` diff --git a/models/migrations/v1_14/v177_test.go b/modelmigration/v1_14/v177_test.go similarity index 97% rename from models/migrations/v1_14/v177_test.go rename to modelmigration/v1_14/v177_test.go index 4b80dc7d6a..49f00ca292 100644 --- a/models/migrations/v1_14/v177_test.go +++ b/modelmigration/v1_14/v177_test.go @@ -6,7 +6,7 @@ package v1_14 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/timeutil" "github.com/stretchr/testify/assert" diff --git a/models/migrations/v1_15/main_test.go b/modelmigration/v1_15/main_test.go similarity index 80% rename from models/migrations/v1_15/main_test.go rename to modelmigration/v1_15/main_test.go index 87b10d3b76..838603bb7b 100644 --- a/models/migrations/v1_15/main_test.go +++ b/modelmigration/v1_15/main_test.go @@ -6,7 +6,7 @@ package v1_15 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_15/v178.go b/modelmigration/v1_15/v178.go similarity index 74% rename from models/migrations/v1_15/v178.go rename to modelmigration/v1_15/v178.go index 35bbf74f41..ef17fc699e 100644 --- a/models/migrations/v1_15/v178.go +++ b/modelmigration/v1_15/v178.go @@ -3,9 +3,9 @@ package v1_15 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddLFSMirrorColumns(x db.EngineMigration) error { +func AddLFSMirrorColumns(x base.EngineMigration) error { type Mirror struct { LFS bool `xorm:"lfs_enabled NOT NULL DEFAULT false"` LFSEndpoint string `xorm:"lfs_endpoint TEXT"` diff --git a/models/migrations/v1_15/v179.go b/modelmigration/v1_15/v179.go similarity index 82% rename from models/migrations/v1_15/v179.go rename to modelmigration/v1_15/v179.go index 4380bc560a..8597736ccb 100644 --- a/models/migrations/v1_15/v179.go +++ b/modelmigration/v1_15/v179.go @@ -4,13 +4,12 @@ package v1_15 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) -func ConvertAvatarURLToText(x db.EngineMigration) error { +func ConvertAvatarURLToText(x base.EngineMigration) error { dbType := x.Dialect().URI().DBType if dbType == schemas.SQLITE { // For SQLITE, varchar or char will always be represented as TEXT return nil diff --git a/models/migrations/v1_15/v180.go b/modelmigration/v1_15/v180.go similarity index 96% rename from models/migrations/v1_15/v180.go rename to modelmigration/v1_15/v180.go index b5247b1a33..42e81299a9 100644 --- a/models/migrations/v1_15/v180.go +++ b/modelmigration/v1_15/v180.go @@ -4,14 +4,14 @@ package v1_15 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/json" "gitea.dev/modules/util" "xorm.io/builder" ) -func DeleteMigrationCredentials(x db.EngineMigration) (err error) { +func DeleteMigrationCredentials(x base.EngineMigration) (err error) { // Task represents a task type Task struct { ID int64 diff --git a/models/migrations/v1_15/v181.go b/modelmigration/v1_15/v181.go similarity index 95% rename from models/migrations/v1_15/v181.go rename to modelmigration/v1_15/v181.go index 841a8a85e5..3545e576f4 100644 --- a/models/migrations/v1_15/v181.go +++ b/modelmigration/v1_15/v181.go @@ -6,10 +6,10 @@ package v1_15 import ( "strings" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddPrimaryEmail2EmailAddress(x db.EngineMigration) error { +func AddPrimaryEmail2EmailAddress(x base.EngineMigration) error { type User struct { ID int64 `xorm:"pk autoincr"` Email string `xorm:"NOT NULL"` diff --git a/models/migrations/v1_15/v181_test.go b/modelmigration/v1_15/v181_test.go similarity index 96% rename from models/migrations/v1_15/v181_test.go rename to modelmigration/v1_15/v181_test.go index 4e004abcb0..bc385bb78a 100644 --- a/models/migrations/v1_15/v181_test.go +++ b/modelmigration/v1_15/v181_test.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_15/v182.go b/modelmigration/v1_15/v182.go similarity index 89% rename from models/migrations/v1_15/v182.go rename to modelmigration/v1_15/v182.go index 2fc8f06225..8b0f7740d9 100644 --- a/models/migrations/v1_15/v182.go +++ b/modelmigration/v1_15/v182.go @@ -3,9 +3,9 @@ package v1_15 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIssueResourceIndexTable(x db.EngineMigration) error { +func AddIssueResourceIndexTable(x base.EngineMigration) error { type ResourceIndex struct { GroupID int64 `xorm:"pk"` MaxIndex int64 `xorm:"index"` diff --git a/models/migrations/v1_15/v182_test.go b/modelmigration/v1_15/v182_test.go similarity index 96% rename from models/migrations/v1_15/v182_test.go rename to modelmigration/v1_15/v182_test.go index 049f9a1785..2aa58f286f 100644 --- a/models/migrations/v1_15/v182_test.go +++ b/modelmigration/v1_15/v182_test.go @@ -6,7 +6,7 @@ package v1_15 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_15/v183.go b/modelmigration/v1_15/v183.go similarity index 88% rename from models/migrations/v1_15/v183.go rename to modelmigration/v1_15/v183.go index dee388a961..ae003c08b9 100644 --- a/models/migrations/v1_15/v183.go +++ b/modelmigration/v1_15/v183.go @@ -7,11 +7,11 @@ import ( "fmt" "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func CreatePushMirrorTable(x db.EngineMigration) error { +func CreatePushMirrorTable(x base.EngineMigration) error { type PushMirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_15/v184.go b/modelmigration/v1_15/v184.go similarity index 92% rename from models/migrations/v1_15/v184.go rename to modelmigration/v1_15/v184.go index 21ae339522..00d9375a66 100644 --- a/models/migrations/v1_15/v184.go +++ b/modelmigration/v1_15/v184.go @@ -7,12 +7,11 @@ import ( "context" "fmt" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func RenameTaskErrorsToMessage(x db.EngineMigration) error { +func RenameTaskErrorsToMessage(x base.EngineMigration) error { type Task struct { Errors string `xorm:"TEXT"` // if task failed, saved the error reason Type int diff --git a/models/migrations/v1_15/v185.go b/modelmigration/v1_15/v185.go similarity index 83% rename from models/migrations/v1_15/v185.go rename to modelmigration/v1_15/v185.go index 1a6d84afff..51670731f0 100644 --- a/models/migrations/v1_15/v185.go +++ b/modelmigration/v1_15/v185.go @@ -3,9 +3,9 @@ package v1_15 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddRepoArchiver(x db.EngineMigration) error { +func AddRepoArchiver(x base.EngineMigration) error { // RepoArchiver represents all archivers type RepoArchiver struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_15/v186.go b/modelmigration/v1_15/v186.go similarity index 84% rename from models/migrations/v1_15/v186.go rename to modelmigration/v1_15/v186.go index 44e096fecb..ea378ab61a 100644 --- a/models/migrations/v1_15/v186.go +++ b/modelmigration/v1_15/v186.go @@ -4,11 +4,11 @@ package v1_15 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func CreateProtectedTagTable(x db.EngineMigration) error { +func CreateProtectedTagTable(x base.EngineMigration) error { type ProtectedTag struct { ID int64 `xorm:"pk autoincr"` RepoID int64 diff --git a/models/migrations/v1_15/v187.go b/modelmigration/v1_15/v187.go similarity index 89% rename from models/migrations/v1_15/v187.go rename to modelmigration/v1_15/v187.go index e8c388554b..de58978f99 100644 --- a/models/migrations/v1_15/v187.go +++ b/modelmigration/v1_15/v187.go @@ -4,11 +4,10 @@ package v1_15 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func DropWebhookColumns(x db.EngineMigration) error { +func DropWebhookColumns(x base.EngineMigration) error { // Make sure the columns exist before dropping them type Webhook struct { Signature string `xorm:"TEXT"` diff --git a/models/migrations/v1_15/v188.go b/modelmigration/v1_15/v188.go similarity index 69% rename from models/migrations/v1_15/v188.go rename to modelmigration/v1_15/v188.go index d3f9de3361..e33d55df41 100644 --- a/models/migrations/v1_15/v188.go +++ b/modelmigration/v1_15/v188.go @@ -3,9 +3,9 @@ package v1_15 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddKeyIsVerified(x db.EngineMigration) error { +func AddKeyIsVerified(x base.EngineMigration) error { type GPGKey struct { Verified bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_16/main_test.go b/modelmigration/v1_16/main_test.go similarity index 80% rename from models/migrations/v1_16/main_test.go rename to modelmigration/v1_16/main_test.go index aac2609f0e..a8ec80953f 100644 --- a/models/migrations/v1_16/main_test.go +++ b/modelmigration/v1_16/main_test.go @@ -6,7 +6,7 @@ package v1_16 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_16/v189.go b/modelmigration/v1_16/v189.go similarity index 95% rename from models/migrations/v1_16/v189.go rename to modelmigration/v1_16/v189.go index 419135c881..e88abf6940 100644 --- a/models/migrations/v1_16/v189.go +++ b/modelmigration/v1_16/v189.go @@ -7,12 +7,11 @@ import ( "encoding/binary" "fmt" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/json" ) -func UnwrapLDAPSourceCfg(x db.EngineMigration) error { +func UnwrapLDAPSourceCfg(x base.EngineMigration) error { jsonUnmarshalHandleDoubleEncode := func(bs []byte, v any) error { err := json.Unmarshal(bs, v) if err != nil { diff --git a/models/migrations/v1_16/v189_test.go b/modelmigration/v1_16/v189_test.go similarity index 97% rename from models/migrations/v1_16/v189_test.go rename to modelmigration/v1_16/v189_test.go index 382b497208..549509e8b1 100644 --- a/models/migrations/v1_16/v189_test.go +++ b/modelmigration/v1_16/v189_test.go @@ -6,7 +6,7 @@ package v1_16 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/json" "github.com/stretchr/testify/assert" diff --git a/models/migrations/v1_16/v190.go b/modelmigration/v1_16/v190.go similarity index 78% rename from models/migrations/v1_16/v190.go rename to modelmigration/v1_16/v190.go index 8dcb09b657..1d6d479b18 100644 --- a/models/migrations/v1_16/v190.go +++ b/modelmigration/v1_16/v190.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddAgitFlowPullRequest(x db.EngineMigration) error { +func AddAgitFlowPullRequest(x base.EngineMigration) error { type PullRequestFlow int type PullRequest struct { diff --git a/models/migrations/v1_16/v191.go b/modelmigration/v1_16/v191.go similarity index 83% rename from models/migrations/v1_16/v191.go rename to modelmigration/v1_16/v191.go index fc0ab2e08c..f563752167 100644 --- a/models/migrations/v1_16/v191.go +++ b/modelmigration/v1_16/v191.go @@ -4,11 +4,11 @@ package v1_16 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func AlterIssueAndCommentTextFieldsToLongText(x db.EngineMigration) error { +func AlterIssueAndCommentTextFieldsToLongText(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_16/v192.go b/modelmigration/v1_16/v192.go similarity index 67% rename from models/migrations/v1_16/v192.go rename to modelmigration/v1_16/v192.go index 1daf229b27..9071566ca4 100644 --- a/models/migrations/v1_16/v192.go +++ b/modelmigration/v1_16/v192.go @@ -4,11 +4,10 @@ package v1_16 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func RecreateIssueResourceIndexTable(x db.EngineMigration) error { +func RecreateIssueResourceIndexTable(x base.EngineMigration) error { type IssueIndex struct { GroupID int64 `xorm:"pk"` MaxIndex int64 `xorm:"index"` diff --git a/models/migrations/v1_16/v193.go b/modelmigration/v1_16/v193.go similarity index 90% rename from models/migrations/v1_16/v193.go rename to modelmigration/v1_16/v193.go index b015f61e3a..5d18c85729 100644 --- a/models/migrations/v1_16/v193.go +++ b/modelmigration/v1_16/v193.go @@ -3,9 +3,9 @@ package v1_16 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddRepoIDForAttachment(x db.EngineMigration) error { +func AddRepoIDForAttachment(x base.EngineMigration) error { type Attachment struct { ID int64 `xorm:"pk autoincr"` UUID string `xorm:"uuid UNIQUE"` diff --git a/models/migrations/v1_16/v193_test.go b/modelmigration/v1_16/v193_test.go similarity index 97% rename from models/migrations/v1_16/v193_test.go rename to modelmigration/v1_16/v193_test.go index a8359acb8e..38ce263205 100644 --- a/models/migrations/v1_16/v193_test.go +++ b/modelmigration/v1_16/v193_test.go @@ -6,7 +6,7 @@ package v1_16 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_16/v194.go b/modelmigration/v1_16/v194.go similarity index 73% rename from models/migrations/v1_16/v194.go rename to modelmigration/v1_16/v194.go index baf19df95f..22a175ea76 100644 --- a/models/migrations/v1_16/v194.go +++ b/modelmigration/v1_16/v194.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddBranchProtectionUnprotectedFilesColumn(x db.EngineMigration) error { +func AddBranchProtectionUnprotectedFilesColumn(x base.EngineMigration) error { type ProtectedBranch struct { UnprotectedFilePatterns string `xorm:"TEXT"` } diff --git a/models/migrations/v1_16/v195.go b/modelmigration/v1_16/v195.go similarity index 92% rename from models/migrations/v1_16/v195.go rename to modelmigration/v1_16/v195.go index 515e30eb8a..e6d0890a89 100644 --- a/models/migrations/v1_16/v195.go +++ b/modelmigration/v1_16/v195.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddTableCommitStatusIndex(x db.EngineMigration) error { +func AddTableCommitStatusIndex(x base.EngineMigration) error { // CommitStatusIndex represents a table for commit status index type CommitStatusIndex struct { ID int64 diff --git a/models/migrations/v1_16/v195_test.go b/modelmigration/v1_16/v195_test.go similarity index 97% rename from models/migrations/v1_16/v195_test.go rename to modelmigration/v1_16/v195_test.go index 4b4ffb5cb3..b1202d94a4 100644 --- a/models/migrations/v1_16/v195_test.go +++ b/modelmigration/v1_16/v195_test.go @@ -6,7 +6,7 @@ package v1_16 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_16/v196.go b/modelmigration/v1_16/v196.go similarity index 75% rename from models/migrations/v1_16/v196.go rename to modelmigration/v1_16/v196.go index 8eb13cd024..a3fdf3820f 100644 --- a/models/migrations/v1_16/v196.go +++ b/modelmigration/v1_16/v196.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddColorColToProjectBoard(x db.EngineMigration) error { +func AddColorColToProjectBoard(x base.EngineMigration) error { type ProjectBoard struct { Color string `xorm:"VARCHAR(7)"` } diff --git a/models/migrations/v1_16/v197.go b/modelmigration/v1_16/v197.go similarity index 77% rename from models/migrations/v1_16/v197.go rename to modelmigration/v1_16/v197.go index 5f89635a0a..eaa9c9e51d 100644 --- a/models/migrations/v1_16/v197.go +++ b/modelmigration/v1_16/v197.go @@ -3,9 +3,9 @@ package v1_16 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddRenamedBranchTable(x db.EngineMigration) error { +func AddRenamedBranchTable(x base.EngineMigration) error { type RenamedBranch struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX NOT NULL"` diff --git a/models/migrations/v1_16/v198.go b/modelmigration/v1_16/v198.go similarity index 87% rename from models/migrations/v1_16/v198.go rename to modelmigration/v1_16/v198.go index 0cabb23988..f568267429 100644 --- a/models/migrations/v1_16/v198.go +++ b/modelmigration/v1_16/v198.go @@ -6,11 +6,11 @@ package v1_16 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddTableIssueContentHistory(x db.EngineMigration) error { +func AddTableIssueContentHistory(x base.EngineMigration) error { type IssueContentHistory struct { ID int64 `xorm:"pk autoincr"` PosterID int64 diff --git a/models/migrations/v1_16/v199.go b/modelmigration/v1_16/v199.go similarity index 100% rename from models/migrations/v1_16/v199.go rename to modelmigration/v1_16/v199.go diff --git a/models/migrations/v1_16/v200.go b/modelmigration/v1_16/v200.go similarity index 80% rename from models/migrations/v1_16/v200.go rename to modelmigration/v1_16/v200.go index b6f65fc5c0..efb99840ac 100644 --- a/models/migrations/v1_16/v200.go +++ b/modelmigration/v1_16/v200.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddTableAppState(x db.EngineMigration) error { +func AddTableAppState(x base.EngineMigration) error { type AppState struct { ID string `xorm:"pk varchar(200)"` Revision int64 diff --git a/models/migrations/v1_16/v201.go b/modelmigration/v1_16/v201.go similarity index 73% rename from models/migrations/v1_16/v201.go rename to modelmigration/v1_16/v201.go index f5e1422413..fc385c96bb 100644 --- a/models/migrations/v1_16/v201.go +++ b/modelmigration/v1_16/v201.go @@ -3,9 +3,9 @@ package v1_16 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func DropTableRemoteVersion(x db.EngineMigration) error { +func DropTableRemoteVersion(x base.EngineMigration) error { // drop the orphaned table introduced in `v199`, now the update checker also uses AppState, do not need this table _ = x.DropTables("remote_version") return nil diff --git a/models/migrations/v1_16/v202.go b/modelmigration/v1_16/v202.go similarity index 85% rename from models/migrations/v1_16/v202.go rename to modelmigration/v1_16/v202.go index 0f1647054b..7477505445 100644 --- a/models/migrations/v1_16/v202.go +++ b/modelmigration/v1_16/v202.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func CreateUserSettingsTable(x db.EngineMigration) error { +func CreateUserSettingsTable(x base.EngineMigration) error { type UserSetting struct { ID int64 `xorm:"pk autoincr"` UserID int64 `xorm:"index unique(key_userid)"` // to load all of someone's settings diff --git a/models/migrations/v1_16/v203.go b/modelmigration/v1_16/v203.go similarity index 73% rename from models/migrations/v1_16/v203.go rename to modelmigration/v1_16/v203.go index b91c4da656..d73df2043c 100644 --- a/models/migrations/v1_16/v203.go +++ b/modelmigration/v1_16/v203.go @@ -3,9 +3,9 @@ package v1_16 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddProjectIssueSorting(x db.EngineMigration) error { +func AddProjectIssueSorting(x base.EngineMigration) error { // ProjectIssue saves relation from issue to a project type ProjectIssue struct { Sorting int64 `xorm:"NOT NULL DEFAULT 0"` diff --git a/models/migrations/v1_16/v204.go b/modelmigration/v1_16/v204.go similarity index 69% rename from models/migrations/v1_16/v204.go rename to modelmigration/v1_16/v204.go index 3a882fd56f..2aaaca4b56 100644 --- a/models/migrations/v1_16/v204.go +++ b/modelmigration/v1_16/v204.go @@ -3,9 +3,9 @@ package v1_16 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddSSHKeyIsVerified(x db.EngineMigration) error { +func AddSSHKeyIsVerified(x base.EngineMigration) error { type PublicKey struct { Verified bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_16/v205.go b/modelmigration/v1_16/v205.go similarity index 86% rename from models/migrations/v1_16/v205.go rename to modelmigration/v1_16/v205.go index 18dda1875f..0607c5f91b 100644 --- a/models/migrations/v1_16/v205.go +++ b/modelmigration/v1_16/v205.go @@ -4,13 +4,12 @@ package v1_16 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) -func MigrateUserPasswordSalt(x db.EngineMigration) error { +func MigrateUserPasswordSalt(x base.EngineMigration) error { dbType := x.Dialect().URI().DBType // For SQLITE, the max length doesn't matter. if dbType == schemas.SQLITE { diff --git a/models/migrations/v1_16/v206.go b/modelmigration/v1_16/v206.go similarity index 85% rename from models/migrations/v1_16/v206.go rename to modelmigration/v1_16/v206.go index b612fa106d..947d40eda6 100644 --- a/models/migrations/v1_16/v206.go +++ b/modelmigration/v1_16/v206.go @@ -6,10 +6,10 @@ package v1_16 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func AddAuthorizeColForTeamUnit(x db.EngineMigration) error { +func AddAuthorizeColForTeamUnit(x base.EngineMigration) error { type TeamUnit struct { ID int64 `xorm:"pk autoincr"` OrgID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_16/v207.go b/modelmigration/v1_16/v207.go similarity index 65% rename from models/migrations/v1_16/v207.go rename to modelmigration/v1_16/v207.go index da89c7b8bb..40e9dadd23 100644 --- a/models/migrations/v1_16/v207.go +++ b/modelmigration/v1_16/v207.go @@ -3,9 +3,9 @@ package v1_16 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddWebAuthnCred(x db.EngineMigration) error { +func AddWebAuthnCred(x base.EngineMigration) error { // NO-OP Don't migrate here - let v210 do this. return nil diff --git a/models/migrations/v1_16/v208.go b/modelmigration/v1_16/v208.go similarity index 52% rename from models/migrations/v1_16/v208.go rename to modelmigration/v1_16/v208.go index 1f4752b34a..edbeae99cb 100644 --- a/models/migrations/v1_16/v208.go +++ b/modelmigration/v1_16/v208.go @@ -3,9 +3,9 @@ package v1_16 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func UseBase32HexForCredIDInWebAuthnCredential(x db.EngineMigration) error { +func UseBase32HexForCredIDInWebAuthnCredential(x base.EngineMigration) error { // noop return nil } diff --git a/models/migrations/v1_16/v209.go b/modelmigration/v1_16/v209.go similarity index 65% rename from models/migrations/v1_16/v209.go rename to modelmigration/v1_16/v209.go index bfa0a63d35..ea98f5b688 100644 --- a/models/migrations/v1_16/v209.go +++ b/modelmigration/v1_16/v209.go @@ -3,9 +3,9 @@ package v1_16 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func IncreaseCredentialIDTo410(x db.EngineMigration) error { +func IncreaseCredentialIDTo410(x base.EngineMigration) error { // no-op // v208 was completely wrong // So now we have to no-op again. diff --git a/models/migrations/v1_16/v210.go b/modelmigration/v1_16/v210.go similarity index 97% rename from models/migrations/v1_16/v210.go rename to modelmigration/v1_16/v210.go index 4eb6a4dacc..924df3827c 100644 --- a/models/migrations/v1_16/v210.go +++ b/modelmigration/v1_16/v210.go @@ -8,8 +8,7 @@ import ( "fmt" "strings" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" "github.com/tstranex/u2f" @@ -17,7 +16,7 @@ import ( ) // v208 migration was completely broken -func RemigrateU2FCredentials(x db.EngineMigration) error { +func RemigrateU2FCredentials(x base.EngineMigration) error { // Create webauthnCredential table type webauthnCredential struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_16/v210_test.go b/modelmigration/v1_16/v210_test.go similarity index 97% rename from models/migrations/v1_16/v210_test.go rename to modelmigration/v1_16/v210_test.go index ed90e62f5a..6a7b32c8c1 100644 --- a/models/migrations/v1_16/v210_test.go +++ b/modelmigration/v1_16/v210_test.go @@ -6,7 +6,7 @@ package v1_16 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/timeutil" "github.com/stretchr/testify/assert" diff --git a/models/migrations/v1_17/main_test.go b/modelmigration/v1_17/main_test.go similarity index 80% rename from models/migrations/v1_17/main_test.go rename to modelmigration/v1_17/main_test.go index 4e5e83d8a8..bb9306c311 100644 --- a/models/migrations/v1_17/main_test.go +++ b/modelmigration/v1_17/main_test.go @@ -6,7 +6,7 @@ package v1_17 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_17/v211.go b/modelmigration/v1_17/v211.go similarity index 61% rename from models/migrations/v1_17/v211.go rename to modelmigration/v1_17/v211.go index 144e52c1d0..1fcf97503e 100644 --- a/models/migrations/v1_17/v211.go +++ b/modelmigration/v1_17/v211.go @@ -3,8 +3,8 @@ package v1_17 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func CreateForeignReferenceTable(_ db.EngineMigration) error { +func CreateForeignReferenceTable(_ base.EngineMigration) error { return nil // This table was dropped in v1_19/v237.go } diff --git a/models/migrations/v1_17/v212.go b/modelmigration/v1_17/v212.go similarity index 97% rename from models/migrations/v1_17/v212.go rename to modelmigration/v1_17/v212.go index 8fd4036106..3fd849f921 100644 --- a/models/migrations/v1_17/v212.go +++ b/modelmigration/v1_17/v212.go @@ -4,11 +4,11 @@ package v1_17 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddPackageTables(x db.EngineMigration) error { +func AddPackageTables(x base.EngineMigration) error { type Package struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` diff --git a/models/migrations/v1_17/v213.go b/modelmigration/v1_17/v213.go similarity index 75% rename from models/migrations/v1_17/v213.go rename to modelmigration/v1_17/v213.go index eddb7f538d..2859aec292 100644 --- a/models/migrations/v1_17/v213.go +++ b/modelmigration/v1_17/v213.go @@ -3,9 +3,9 @@ package v1_17 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddAllowMaintainerEdit(x db.EngineMigration) error { +func AddAllowMaintainerEdit(x base.EngineMigration) error { // PullRequest represents relation between pull request and repositories. type PullRequest struct { AllowMaintainerEdit bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_17/v214.go b/modelmigration/v1_17/v214.go similarity index 83% rename from models/migrations/v1_17/v214.go rename to modelmigration/v1_17/v214.go index 68194fca9b..2ab1fe4cea 100644 --- a/models/migrations/v1_17/v214.go +++ b/modelmigration/v1_17/v214.go @@ -3,9 +3,9 @@ package v1_17 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddAutoMergeTable(x db.EngineMigration) error { +func AddAutoMergeTable(x base.EngineMigration) error { type MergeStyle string type PullAutoMerge struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_17/v215.go b/modelmigration/v1_17/v215.go similarity index 88% rename from models/migrations/v1_17/v215.go rename to modelmigration/v1_17/v215.go index 857d37f7d1..9b09a207d2 100644 --- a/models/migrations/v1_17/v215.go +++ b/modelmigration/v1_17/v215.go @@ -4,12 +4,12 @@ package v1_17 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/models/pull" "gitea.dev/modules/timeutil" ) -func AddReviewViewedFiles(x db.EngineMigration) error { +func AddReviewViewedFiles(x base.EngineMigration) error { type ReviewState struct { ID int64 `xorm:"pk autoincr"` UserID int64 `xorm:"NOT NULL UNIQUE(pull_commit_user)"` diff --git a/models/migrations/v1_17/v216.go b/modelmigration/v1_17/v216.go similarity index 100% rename from models/migrations/v1_17/v216.go rename to modelmigration/v1_17/v216.go diff --git a/models/migrations/v1_17/v217.go b/modelmigration/v1_17/v217.go similarity index 84% rename from models/migrations/v1_17/v217.go rename to modelmigration/v1_17/v217.go index fd9ec96d25..a358067676 100644 --- a/models/migrations/v1_17/v217.go +++ b/modelmigration/v1_17/v217.go @@ -4,11 +4,11 @@ package v1_17 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func AlterHookTaskTextFieldsToLongText(x db.EngineMigration) error { +func AlterHookTaskTextFieldsToLongText(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_17/v218.go b/modelmigration/v1_17/v218.go similarity index 94% rename from models/migrations/v1_17/v218.go rename to modelmigration/v1_17/v218.go index 17c1091517..04e01b2bad 100644 --- a/models/migrations/v1_17/v218.go +++ b/modelmigration/v1_17/v218.go @@ -4,7 +4,7 @@ package v1_17 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" "gitea.dev/modules/timeutil" @@ -47,6 +47,6 @@ func (*improveActionTableIndicesAction) TableIndices() []*schemas.Index { return indices } -func ImproveActionTableIndices(x db.EngineMigration) error { +func ImproveActionTableIndices(x base.EngineMigration) error { return x.Sync(&improveActionTableIndicesAction{}) } diff --git a/models/migrations/v1_17/v219.go b/modelmigration/v1_17/v219.go similarity index 86% rename from models/migrations/v1_17/v219.go rename to modelmigration/v1_17/v219.go index 0605fd14fa..fa6c3a4bcb 100644 --- a/models/migrations/v1_17/v219.go +++ b/modelmigration/v1_17/v219.go @@ -6,12 +6,12 @@ package v1_17 import ( "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/models/repo" "gitea.dev/modules/timeutil" ) -func AddSyncOnCommitColForPushMirror(x db.EngineMigration) error { +func AddSyncOnCommitColForPushMirror(x base.EngineMigration) error { type PushMirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_17/v220.go b/modelmigration/v1_17/v220.go similarity index 92% rename from models/migrations/v1_17/v220.go rename to modelmigration/v1_17/v220.go index 2157bf24d3..e2cee4a6bf 100644 --- a/models/migrations/v1_17/v220.go +++ b/modelmigration/v1_17/v220.go @@ -4,14 +4,14 @@ package v1_17 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" packages_model "gitea.dev/models/packages" container_module "gitea.dev/modules/packages/container" "xorm.io/xorm/schemas" ) -func AddContainerRepositoryProperty(x db.EngineMigration) (err error) { +func AddContainerRepositoryProperty(x base.EngineMigration) (err error) { switch x.Dialect().URI().DBType { case schemas.SQLITE: _, err = x.Exec("INSERT INTO package_property (ref_type, ref_id, name, value) SELECT ?, p.id, ?, u.lower_name || '/' || p.lower_name FROM package p JOIN `user` u ON p.owner_id = u.id WHERE p.type = ?", diff --git a/models/migrations/v1_17/v221.go b/modelmigration/v1_17/v221.go similarity index 95% rename from models/migrations/v1_17/v221.go rename to modelmigration/v1_17/v221.go index a5d2dc9166..775eb081a4 100644 --- a/models/migrations/v1_17/v221.go +++ b/modelmigration/v1_17/v221.go @@ -7,11 +7,11 @@ import ( "encoding/base32" "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func StoreWebauthnCredentialIDAsBytes(x db.EngineMigration) error { +func StoreWebauthnCredentialIDAsBytes(x base.EngineMigration) error { // Create webauthnCredential table type webauthnCredential struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_17/v221_test.go b/modelmigration/v1_17/v221_test.go similarity index 97% rename from models/migrations/v1_17/v221_test.go rename to modelmigration/v1_17/v221_test.go index 2c217cf02e..f6c8e37590 100644 --- a/models/migrations/v1_17/v221_test.go +++ b/modelmigration/v1_17/v221_test.go @@ -7,7 +7,7 @@ import ( "encoding/base32" "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_17/v222.go b/modelmigration/v1_17/v222.go similarity index 94% rename from models/migrations/v1_17/v222.go rename to modelmigration/v1_17/v222.go index 97b36af5ca..b223b74ee0 100644 --- a/models/migrations/v1_17/v222.go +++ b/modelmigration/v1_17/v222.go @@ -8,12 +8,11 @@ import ( "errors" "fmt" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func DropOldCredentialIDColumn(x db.EngineMigration) error { +func DropOldCredentialIDColumn(x base.EngineMigration) error { // This migration maybe rerun so that we should check if it has been run credentialIDExist, err := x.Dialect().IsColumnExist(x.DB(), context.Background(), "webauthn_credential", "credential_id") if err != nil { diff --git a/models/migrations/v1_17/v223.go b/modelmigration/v1_17/v223.go similarity index 96% rename from models/migrations/v1_17/v223.go rename to modelmigration/v1_17/v223.go index a97a49566d..c4e6d07aa4 100644 --- a/models/migrations/v1_17/v223.go +++ b/modelmigration/v1_17/v223.go @@ -7,13 +7,12 @@ import ( "context" "fmt" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" "gitea.dev/modules/timeutil" ) -func RenameCredentialIDBytes(x db.EngineMigration) error { +func RenameCredentialIDBytes(x base.EngineMigration) error { // This migration maybe rerun so that we should check if it has been run credentialIDExist, err := x.Dialect().IsColumnExist(x.DB(), context.Background(), "webauthn_credential", "credential_id") if err != nil { diff --git a/models/migrations/v1_18/main_test.go b/modelmigration/v1_18/main_test.go similarity index 80% rename from models/migrations/v1_18/main_test.go rename to modelmigration/v1_18/main_test.go index 720784d680..c85972c82f 100644 --- a/models/migrations/v1_18/main_test.go +++ b/modelmigration/v1_18/main_test.go @@ -6,7 +6,7 @@ package v1_18 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_18/v224.go b/modelmigration/v1_18/v224.go similarity index 81% rename from models/migrations/v1_18/v224.go rename to modelmigration/v1_18/v224.go index 7e796e40a7..37f8551a19 100644 --- a/models/migrations/v1_18/v224.go +++ b/modelmigration/v1_18/v224.go @@ -3,9 +3,9 @@ package v1_18 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func CreateUserBadgesTable(x db.EngineMigration) error { +func CreateUserBadgesTable(x base.EngineMigration) error { type Badge struct { ID int64 `xorm:"pk autoincr"` Description string diff --git a/models/migrations/v1_18/v225.go b/modelmigration/v1_18/v225.go similarity index 83% rename from models/migrations/v1_18/v225.go rename to modelmigration/v1_18/v225.go index 3a0268e97d..af800a65b0 100644 --- a/models/migrations/v1_18/v225.go +++ b/modelmigration/v1_18/v225.go @@ -4,11 +4,11 @@ package v1_18 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func AlterPublicGPGKeyContentFieldsToMediumText(x db.EngineMigration) error { +func AlterPublicGPGKeyContentFieldsToMediumText(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_18/v226.go b/modelmigration/v1_18/v226.go similarity index 76% rename from models/migrations/v1_18/v226.go rename to modelmigration/v1_18/v226.go index cd9e826bd0..edce2af067 100644 --- a/models/migrations/v1_18/v226.go +++ b/modelmigration/v1_18/v226.go @@ -4,12 +4,12 @@ package v1_18 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/builder" ) -func FixPackageSemverField(x db.EngineMigration) error { +func FixPackageSemverField(x base.EngineMigration) error { _, err := x.Exec(builder.Update(builder.Eq{"semver_compatible": false}).From("`package`").Where(builder.In("`type`", "conan", "generic"))) return err } diff --git a/models/migrations/v1_18/v227.go b/modelmigration/v1_18/v227.go similarity index 85% rename from models/migrations/v1_18/v227.go rename to modelmigration/v1_18/v227.go index 058f633117..8f1f6bcbda 100644 --- a/models/migrations/v1_18/v227.go +++ b/modelmigration/v1_18/v227.go @@ -4,7 +4,7 @@ package v1_18 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) @@ -17,6 +17,6 @@ type SystemSetting struct { Updated timeutil.TimeStamp `xorm:"updated"` } -func CreateSystemSettingsTable(x db.EngineMigration) error { +func CreateSystemSettingsTable(x base.EngineMigration) error { return x.Sync(new(SystemSetting)) } diff --git a/models/migrations/v1_18/v228.go b/modelmigration/v1_18/v228.go similarity index 89% rename from models/migrations/v1_18/v228.go rename to modelmigration/v1_18/v228.go index 558411ef47..5becd95dc3 100644 --- a/models/migrations/v1_18/v228.go +++ b/modelmigration/v1_18/v228.go @@ -4,11 +4,11 @@ package v1_18 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddTeamInviteTable(x db.EngineMigration) error { +func AddTeamInviteTable(x base.EngineMigration) error { type TeamInvite struct { ID int64 `xorm:"pk autoincr"` Token string `xorm:"UNIQUE(token) INDEX NOT NULL DEFAULT ''"` diff --git a/models/migrations/v1_18/v229.go b/modelmigration/v1_18/v229.go similarity index 92% rename from models/migrations/v1_18/v229.go rename to modelmigration/v1_18/v229.go index be9bda66ec..a3081d736e 100644 --- a/models/migrations/v1_18/v229.go +++ b/modelmigration/v1_18/v229.go @@ -6,13 +6,13 @@ package v1_18 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/models/issues" "xorm.io/builder" ) -func UpdateOpenMilestoneCounts(x db.EngineMigration) error { +func UpdateOpenMilestoneCounts(x base.EngineMigration) error { var openMilestoneIDs []int64 err := x.Table("milestone").Select("id").Where(builder.Neq{"is_closed": 1}).Find(&openMilestoneIDs) if err != nil { diff --git a/models/migrations/v1_18/v229_test.go b/modelmigration/v1_18/v229_test.go similarity index 95% rename from models/migrations/v1_18/v229_test.go rename to modelmigration/v1_18/v229_test.go index f1f3482bba..ec3306cbd1 100644 --- a/models/migrations/v1_18/v229_test.go +++ b/modelmigration/v1_18/v229_test.go @@ -6,8 +6,8 @@ package v1_18 import ( "testing" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/models/issues" - "gitea.dev/models/migrations/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_18/v230.go b/modelmigration/v1_18/v230.go similarity index 74% rename from models/migrations/v1_18/v230.go rename to modelmigration/v1_18/v230.go index 670b3227df..00696bf468 100644 --- a/models/migrations/v1_18/v230.go +++ b/modelmigration/v1_18/v230.go @@ -3,10 +3,10 @@ package v1_18 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" // AddConfidentialColumnToOAuth2ApplicationTable: add ConfidentialClient column, setting existing rows to true -func AddConfidentialClientColumnToOAuth2ApplicationTable(x db.EngineMigration) error { +func AddConfidentialClientColumnToOAuth2ApplicationTable(x base.EngineMigration) error { type oauth2Application struct { ID int64 ConfidentialClient bool `xorm:"NOT NULL DEFAULT TRUE"` diff --git a/models/migrations/v1_18/v230_test.go b/modelmigration/v1_18/v230_test.go similarity index 95% rename from models/migrations/v1_18/v230_test.go rename to modelmigration/v1_18/v230_test.go index e711a6cd59..3c0d9f746a 100644 --- a/models/migrations/v1_18/v230_test.go +++ b/modelmigration/v1_18/v230_test.go @@ -6,7 +6,7 @@ package v1_18 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_19/main_test.go b/modelmigration/v1_19/main_test.go similarity index 80% rename from models/migrations/v1_19/main_test.go rename to modelmigration/v1_19/main_test.go index 383ffb9388..9d5d63cbdc 100644 --- a/models/migrations/v1_19/main_test.go +++ b/modelmigration/v1_19/main_test.go @@ -6,7 +6,7 @@ package v1_19 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_19/v231.go b/modelmigration/v1_19/v231.go similarity index 73% rename from models/migrations/v1_19/v231.go rename to modelmigration/v1_19/v231.go index d8fa52a1a7..25c1ddcaaa 100644 --- a/models/migrations/v1_19/v231.go +++ b/modelmigration/v1_19/v231.go @@ -3,9 +3,9 @@ package v1_19 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIndexForHookTask(x db.EngineMigration) error { +func AddIndexForHookTask(x base.EngineMigration) error { type HookTask struct { ID int64 `xorm:"pk autoincr"` HookID int64 `xorm:"index"` diff --git a/models/migrations/v1_19/v232.go b/modelmigration/v1_19/v232.go similarity index 80% rename from models/migrations/v1_19/v232.go rename to modelmigration/v1_19/v232.go index 4e4a8ae6f0..58c72b9bc2 100644 --- a/models/migrations/v1_19/v232.go +++ b/modelmigration/v1_19/v232.go @@ -4,11 +4,11 @@ package v1_19 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func AlterPackageVersionMetadataToLongText(x db.EngineMigration) error { +func AlterPackageVersionMetadataToLongText(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_19/v233.go b/modelmigration/v1_19/v233.go similarity index 91% rename from models/migrations/v1_19/v233.go rename to modelmigration/v1_19/v233.go index 6098e7882e..9603266dd4 100644 --- a/models/migrations/v1_19/v233.go +++ b/modelmigration/v1_19/v233.go @@ -6,7 +6,7 @@ package v1_19 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/json" "gitea.dev/modules/secret" "gitea.dev/modules/setting" @@ -14,7 +14,7 @@ import ( "xorm.io/builder" ) -func batchProcess[T any](x db.EngineMigration, buf []T, query func(limit, start int) db.Session, process func(db.Session, T) error) error { +func batchProcess[T any](x base.EngineMigration, buf []T, query func(limit, start int) base.Session, process func(base.Session, T) error) error { size := cap(buf) start := 0 for { @@ -51,7 +51,7 @@ func batchProcess[T any](x db.EngineMigration, buf []T, query func(limit, start } } -func AddHeaderAuthorizationEncryptedColWebhook(x db.EngineMigration) error { +func AddHeaderAuthorizationEncryptedColWebhook(x base.EngineMigration) error { // Add the column to the table type Webhook struct { ID int64 `xorm:"pk autoincr"` @@ -80,10 +80,10 @@ func AddHeaderAuthorizationEncryptedColWebhook(x db.EngineMigration) error { err = batchProcess(x, make([]*Webhook, 0, 50), - func(limit, start int) db.Session { + func(limit, start int) base.Session { return x.Where("type=?", "matrix").OrderBy("id").Limit(limit, start) }, - func(sess db.Session, hook *Webhook) error { + func(sess base.Session, hook *Webhook) error { // retrieve token from meta var withToken MatrixMetaWithAccessToken err := json.Unmarshal([]byte(hook.Meta), &withToken) @@ -141,13 +141,13 @@ func AddHeaderAuthorizationEncryptedColWebhook(x db.EngineMigration) error { err = batchProcess(x, make([]*HookTask, 0, 50), - func(limit, start int) db.Session { + func(limit, start int) base.Session { return x.Where(builder.And( builder.In("hook_id", builder.Select("id").From("webhook").Where(builder.Eq{"type": "matrix"})), builder.Like{"payload_content", "access_token"}, )).OrderBy("id").Limit(limit, 0) // ignore the provided "start", since other payload were already converted and don't contain 'payload_content' anymore }, - func(sess db.Session, hookTask *HookTask) error { + func(sess base.Session, hookTask *HookTask) error { // retrieve token from payload_content var withToken MatrixPayloadUnsafe err := json.Unmarshal([]byte(hookTask.PayloadContent), &withToken) diff --git a/models/migrations/v1_19/v233_test.go b/modelmigration/v1_19/v233_test.go similarity index 98% rename from models/migrations/v1_19/v233_test.go rename to modelmigration/v1_19/v233_test.go index add1944305..3161e9c4d0 100644 --- a/models/migrations/v1_19/v233_test.go +++ b/modelmigration/v1_19/v233_test.go @@ -6,7 +6,7 @@ package v1_19 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/json" "gitea.dev/modules/secret" "gitea.dev/modules/setting" diff --git a/models/migrations/v1_19/v234.go b/modelmigration/v1_19/v234.go similarity index 90% rename from models/migrations/v1_19/v234.go rename to modelmigration/v1_19/v234.go index 325d2c70fe..23fc66d588 100644 --- a/models/migrations/v1_19/v234.go +++ b/modelmigration/v1_19/v234.go @@ -4,11 +4,11 @@ package v1_19 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func CreatePackageCleanupRuleTable(x db.EngineMigration) error { +func CreatePackageCleanupRuleTable(x base.EngineMigration) error { type PackageCleanupRule struct { ID int64 `xorm:"pk autoincr"` Enabled bool `xorm:"INDEX NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_19/v235.go b/modelmigration/v1_19/v235.go similarity index 69% rename from models/migrations/v1_19/v235.go rename to modelmigration/v1_19/v235.go index 5a49b3f31f..80464f2763 100644 --- a/models/migrations/v1_19/v235.go +++ b/modelmigration/v1_19/v235.go @@ -3,9 +3,9 @@ package v1_19 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIndexForAccessToken(x db.EngineMigration) error { +func AddIndexForAccessToken(x base.EngineMigration) error { type AccessToken struct { TokenLastEight string `xorm:"INDEX token_last_eight"` } diff --git a/models/migrations/v1_19/v236.go b/modelmigration/v1_19/v236.go similarity index 86% rename from models/migrations/v1_19/v236.go rename to modelmigration/v1_19/v236.go index 9547a94923..5de0a684c6 100644 --- a/models/migrations/v1_19/v236.go +++ b/modelmigration/v1_19/v236.go @@ -4,11 +4,11 @@ package v1_19 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func CreateSecretsTable(x db.EngineMigration) error { +func CreateSecretsTable(x base.EngineMigration) error { type Secret struct { ID int64 OwnerID int64 `xorm:"INDEX UNIQUE(owner_repo_name) NOT NULL"` diff --git a/models/migrations/v1_19/v237.go b/modelmigration/v1_19/v237.go similarity index 78% rename from models/migrations/v1_19/v237.go rename to modelmigration/v1_19/v237.go index f5ec09ff90..89508cc69f 100644 --- a/models/migrations/v1_19/v237.go +++ b/modelmigration/v1_19/v237.go @@ -3,9 +3,9 @@ package v1_19 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func DropForeignReferenceTable(x db.EngineMigration) error { +func DropForeignReferenceTable(x base.EngineMigration) error { // Drop the table introduced in `v211`, it's considered badly designed and doesn't look like to be used. // See: https://github.com/go-gitea/gitea/issues/21086#issuecomment-1318217453 type ForeignReference struct{} diff --git a/models/migrations/v1_19/v238.go b/modelmigration/v1_19/v238.go similarity index 90% rename from models/migrations/v1_19/v238.go rename to modelmigration/v1_19/v238.go index 5b2173e6a5..0fc41c8595 100644 --- a/models/migrations/v1_19/v238.go +++ b/modelmigration/v1_19/v238.go @@ -4,12 +4,12 @@ package v1_19 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) // AddUpdatedUnixToLFSMetaObject adds an updated column to the LFSMetaObject to allow for garbage collection -func AddUpdatedUnixToLFSMetaObject(x db.EngineMigration) error { +func AddUpdatedUnixToLFSMetaObject(x base.EngineMigration) error { // Drop the table introduced in `v211`, it's considered badly designed and doesn't look like to be used. // See: https://github.com/go-gitea/gitea/issues/21086#issuecomment-1318217453 // LFSMetaObject stores metadata for LFS tracked files. diff --git a/models/migrations/v1_19/v239.go b/modelmigration/v1_19/v239.go similarity index 79% rename from models/migrations/v1_19/v239.go rename to modelmigration/v1_19/v239.go index 826150a723..cb1944548c 100644 --- a/models/migrations/v1_19/v239.go +++ b/modelmigration/v1_19/v239.go @@ -3,9 +3,9 @@ package v1_19 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddScopeForAccessTokens(x db.EngineMigration) error { +func AddScopeForAccessTokens(x base.EngineMigration) error { type AccessToken struct { Scope string } diff --git a/models/migrations/v1_19/v240.go b/modelmigration/v1_19/v240.go similarity index 98% rename from models/migrations/v1_19/v240.go rename to modelmigration/v1_19/v240.go index b23553cc4e..34bab4bb51 100644 --- a/models/migrations/v1_19/v240.go +++ b/modelmigration/v1_19/v240.go @@ -4,11 +4,12 @@ package v1_19 import ( + "gitea.dev/modelmigration/base" "gitea.dev/models/db" "gitea.dev/modules/timeutil" ) -func AddActionsTables(x db.EngineMigration) error { +func AddActionsTables(x base.EngineMigration) error { type ActionRunner struct { ID int64 UUID string `xorm:"CHAR(36) UNIQUE"` diff --git a/models/migrations/v1_19/v241.go b/modelmigration/v1_19/v241.go similarity index 74% rename from models/migrations/v1_19/v241.go rename to modelmigration/v1_19/v241.go index 3237dc11de..f70eb593fe 100644 --- a/models/migrations/v1_19/v241.go +++ b/modelmigration/v1_19/v241.go @@ -3,10 +3,10 @@ package v1_19 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" // AddCardTypeToProjectTable: add CardType column, setting existing rows to CardTypeTextOnly -func AddCardTypeToProjectTable(x db.EngineMigration) error { +func AddCardTypeToProjectTable(x base.EngineMigration) error { type Project struct { CardType int `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_19/v242.go b/modelmigration/v1_19/v242.go similarity index 81% rename from models/migrations/v1_19/v242.go rename to modelmigration/v1_19/v242.go index 4015d0e174..17eccd8f39 100644 --- a/models/migrations/v1_19/v242.go +++ b/modelmigration/v1_19/v242.go @@ -4,12 +4,12 @@ package v1_19 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) // AlterPublicGPGKeyImportContentFieldToMediumText: set GPGKeyImport Content field to MEDIUMTEXT -func AlterPublicGPGKeyImportContentFieldToMediumText(x db.EngineMigration) error { +func AlterPublicGPGKeyImportContentFieldToMediumText(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() if err := sess.Begin(); err != nil { diff --git a/models/migrations/v1_19/v243.go b/modelmigration/v1_19/v243.go similarity index 65% rename from models/migrations/v1_19/v243.go rename to modelmigration/v1_19/v243.go index 547b591596..ab878d57f9 100644 --- a/models/migrations/v1_19/v243.go +++ b/modelmigration/v1_19/v243.go @@ -3,9 +3,9 @@ package v1_19 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddExclusiveLabel(x db.EngineMigration) error { +func AddExclusiveLabel(x base.EngineMigration) error { type Label struct { Exclusive bool } diff --git a/models/migrations/v1_20/main_test.go b/modelmigration/v1_20/main_test.go similarity index 80% rename from models/migrations/v1_20/main_test.go rename to modelmigration/v1_20/main_test.go index 17437be0f9..961e00f1fd 100644 --- a/models/migrations/v1_20/main_test.go +++ b/modelmigration/v1_20/main_test.go @@ -6,7 +6,7 @@ package v1_20 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_20/v244.go b/modelmigration/v1_20/v244.go similarity index 79% rename from models/migrations/v1_20/v244.go rename to modelmigration/v1_20/v244.go index 722677f019..4820d400b1 100644 --- a/models/migrations/v1_20/v244.go +++ b/modelmigration/v1_20/v244.go @@ -3,9 +3,9 @@ package v1_20 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddNeedApprovalToActionRun(x db.EngineMigration) error { +func AddNeedApprovalToActionRun(x base.EngineMigration) error { /* New index: TriggerUserID New fields: NeedApproval, ApprovedBy diff --git a/models/migrations/v1_20/v245.go b/modelmigration/v1_20/v245.go similarity index 92% rename from models/migrations/v1_20/v245.go rename to modelmigration/v1_20/v245.go index 52c6fa0486..541623084b 100644 --- a/models/migrations/v1_20/v245.go +++ b/modelmigration/v1_20/v245.go @@ -6,12 +6,11 @@ package v1_20 import ( "context" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func RenameWebhookOrgToOwner(x db.EngineMigration) error { +func RenameWebhookOrgToOwner(x base.EngineMigration) error { type Webhook struct { OrgID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_20/v246.go b/modelmigration/v1_20/v246.go similarity index 66% rename from models/migrations/v1_20/v246.go rename to modelmigration/v1_20/v246.go index 8232d21f93..329a51ee38 100644 --- a/models/migrations/v1_20/v246.go +++ b/modelmigration/v1_20/v246.go @@ -3,9 +3,9 @@ package v1_20 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddNewColumnForProject(x db.EngineMigration) error { +func AddNewColumnForProject(x base.EngineMigration) error { type Project struct { OwnerID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_20/v247.go b/modelmigration/v1_20/v247.go similarity index 91% rename from models/migrations/v1_20/v247.go rename to modelmigration/v1_20/v247.go index 46daa73203..c4cc2253d9 100644 --- a/models/migrations/v1_20/v247.go +++ b/modelmigration/v1_20/v247.go @@ -4,12 +4,12 @@ package v1_20 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" ) // FixIncorrectProjectType: set individual project's type from 3(TypeOrganization) to 1(TypeIndividual) -func FixIncorrectProjectType(x db.EngineMigration) error { +func FixIncorrectProjectType(x base.EngineMigration) error { type User struct { ID int64 `xorm:"pk autoincr"` Type int diff --git a/models/migrations/v1_20/v248.go b/modelmigration/v1_20/v248.go similarity index 70% rename from models/migrations/v1_20/v248.go rename to modelmigration/v1_20/v248.go index 7dd7f46470..f3032c4ffe 100644 --- a/models/migrations/v1_20/v248.go +++ b/modelmigration/v1_20/v248.go @@ -3,9 +3,9 @@ package v1_20 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddVersionToActionRunner(x db.EngineMigration) error { +func AddVersionToActionRunner(x base.EngineMigration) error { type ActionRunner struct { Version string `xorm:"VARCHAR(64)"` // the version of act_runner } diff --git a/models/migrations/v1_20/v249.go b/modelmigration/v1_20/v249.go similarity index 92% rename from models/migrations/v1_20/v249.go rename to modelmigration/v1_20/v249.go index 7db38b73e9..015c8a7e7a 100644 --- a/models/migrations/v1_20/v249.go +++ b/modelmigration/v1_20/v249.go @@ -4,7 +4,7 @@ package v1_20 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" "xorm.io/xorm/schemas" @@ -40,6 +40,6 @@ func (a *Action) TableIndices() []*schemas.Index { return indices } -func ImproveActionTableIndices(x db.EngineMigration) error { +func ImproveActionTableIndices(x base.EngineMigration) error { return x.Sync(new(Action)) } diff --git a/models/migrations/v1_20/v250.go b/modelmigration/v1_20/v250.go similarity index 97% rename from models/migrations/v1_20/v250.go rename to modelmigration/v1_20/v250.go index 07662c86b2..6b1b5a0872 100644 --- a/models/migrations/v1_20/v250.go +++ b/modelmigration/v1_20/v250.go @@ -6,11 +6,11 @@ package v1_20 import ( "strings" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/json" ) -func ChangeContainerMetadataMultiArch(x db.EngineMigration) error { +func ChangeContainerMetadataMultiArch(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_20/v251.go b/modelmigration/v1_20/v251.go similarity index 89% rename from models/migrations/v1_20/v251.go rename to modelmigration/v1_20/v251.go index 609417d105..52e3ea24e7 100644 --- a/models/migrations/v1_20/v251.go +++ b/modelmigration/v1_20/v251.go @@ -4,11 +4,11 @@ package v1_20 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" ) -func FixIncorrectOwnerTeamUnitAccessMode(x db.EngineMigration) error { +func FixIncorrectOwnerTeamUnitAccessMode(x base.EngineMigration) error { type UnitType int type AccessMode int diff --git a/models/migrations/v1_20/v252.go b/modelmigration/v1_20/v252.go similarity index 89% rename from models/migrations/v1_20/v252.go rename to modelmigration/v1_20/v252.go index 2ee06ea2d2..6ca556eb93 100644 --- a/models/migrations/v1_20/v252.go +++ b/modelmigration/v1_20/v252.go @@ -4,11 +4,11 @@ package v1_20 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" ) -func FixIncorrectAdminTeamUnitAccessMode(x db.EngineMigration) error { +func FixIncorrectAdminTeamUnitAccessMode(x base.EngineMigration) error { type UnitType int type AccessMode int diff --git a/models/migrations/v1_20/v253.go b/modelmigration/v1_20/v253.go similarity index 93% rename from models/migrations/v1_20/v253.go rename to modelmigration/v1_20/v253.go index 99480ce67a..9d1746b456 100644 --- a/models/migrations/v1_20/v253.go +++ b/modelmigration/v1_20/v253.go @@ -4,11 +4,11 @@ package v1_20 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" ) -func FixExternalTrackerAndExternalWikiAccessModeInOwnerAndAdminTeam(x db.EngineMigration) error { +func FixExternalTrackerAndExternalWikiAccessModeInOwnerAndAdminTeam(x base.EngineMigration) error { type UnitType int type AccessMode int diff --git a/models/migrations/v1_20/v254.go b/modelmigration/v1_20/v254.go similarity index 78% rename from models/migrations/v1_20/v254.go rename to modelmigration/v1_20/v254.go index 50fcf267af..50b3bd026e 100644 --- a/models/migrations/v1_20/v254.go +++ b/modelmigration/v1_20/v254.go @@ -3,9 +3,9 @@ package v1_20 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddActionTaskOutputTable(x db.EngineMigration) error { +func AddActionTaskOutputTable(x base.EngineMigration) error { type ActionTaskOutput struct { ID int64 TaskID int64 `xorm:"INDEX UNIQUE(task_id_output_key)"` diff --git a/models/migrations/v1_20/v255.go b/modelmigration/v1_20/v255.go similarity index 81% rename from models/migrations/v1_20/v255.go rename to modelmigration/v1_20/v255.go index 7e3305ac05..4f2dca0098 100644 --- a/models/migrations/v1_20/v255.go +++ b/modelmigration/v1_20/v255.go @@ -4,11 +4,11 @@ package v1_20 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddArchivedUnixToRepository(x db.EngineMigration) error { +func AddArchivedUnixToRepository(x base.EngineMigration) error { type Repository struct { ArchivedUnix timeutil.TimeStamp `xorm:"DEFAULT 0"` } diff --git a/models/migrations/v1_20/v256.go b/modelmigration/v1_20/v256.go similarity index 84% rename from models/migrations/v1_20/v256.go rename to modelmigration/v1_20/v256.go index 28130f8905..0129b665ac 100644 --- a/models/migrations/v1_20/v256.go +++ b/modelmigration/v1_20/v256.go @@ -3,9 +3,9 @@ package v1_20 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIsInternalColumnToPackage(x db.EngineMigration) error { +func AddIsInternalColumnToPackage(x base.EngineMigration) error { type Package struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(s) INDEX NOT NULL"` diff --git a/models/migrations/v1_20/v257.go b/modelmigration/v1_20/v257.go similarity index 93% rename from models/migrations/v1_20/v257.go rename to modelmigration/v1_20/v257.go index 96169c94d2..52d1f7f5af 100644 --- a/models/migrations/v1_20/v257.go +++ b/modelmigration/v1_20/v257.go @@ -4,11 +4,11 @@ package v1_20 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func CreateActionArtifactTable(x db.EngineMigration) error { +func CreateActionArtifactTable(x base.EngineMigration) error { // ActionArtifact is a file that is stored in the artifact storage. type ActionArtifact struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_20/v258.go b/modelmigration/v1_20/v258.go similarity index 67% rename from models/migrations/v1_20/v258.go rename to modelmigration/v1_20/v258.go index a8773d0638..37cc4e45a6 100644 --- a/models/migrations/v1_20/v258.go +++ b/modelmigration/v1_20/v258.go @@ -3,9 +3,9 @@ package v1_20 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddPinOrderToIssue(x db.EngineMigration) error { +func AddPinOrderToIssue(x base.EngineMigration) error { type Issue struct { PinOrder int `xorm:"DEFAULT 0"` } diff --git a/models/migrations/v1_20/v259.go b/modelmigration/v1_20/v259.go similarity index 99% rename from models/migrations/v1_20/v259.go rename to modelmigration/v1_20/v259.go index d6200a6950..ae60a9357e 100644 --- a/models/migrations/v1_20/v259.go +++ b/modelmigration/v1_20/v259.go @@ -7,7 +7,7 @@ import ( "fmt" "strings" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" ) @@ -318,7 +318,7 @@ type AccessToken struct { Scope string } -func ConvertScopedAccessTokens(x db.EngineMigration) error { +func ConvertScopedAccessTokens(x base.EngineMigration) error { var tokens []*AccessToken if err := x.Find(&tokens); err != nil { diff --git a/models/migrations/v1_20/v259_test.go b/modelmigration/v1_20/v259_test.go similarity index 98% rename from models/migrations/v1_20/v259_test.go rename to modelmigration/v1_20/v259_test.go index 7c596579e5..3a897d3b3e 100644 --- a/models/migrations/v1_20/v259_test.go +++ b/modelmigration/v1_20/v259_test.go @@ -8,7 +8,7 @@ import ( "strings" "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_21/main_test.go b/modelmigration/v1_21/main_test.go similarity index 80% rename from models/migrations/v1_21/main_test.go rename to modelmigration/v1_21/main_test.go index 058e7af59f..7740826921 100644 --- a/models/migrations/v1_21/main_test.go +++ b/modelmigration/v1_21/main_test.go @@ -6,7 +6,7 @@ package v1_21 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_21/v260.go b/modelmigration/v1_21/v260.go similarity index 74% rename from models/migrations/v1_21/v260.go rename to modelmigration/v1_21/v260.go index 320c38fde0..6795b2f7ba 100644 --- a/models/migrations/v1_21/v260.go +++ b/modelmigration/v1_21/v260.go @@ -4,11 +4,10 @@ package v1_21 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func DropCustomLabelsColumnOfActionRunner(x db.EngineMigration) error { +func DropCustomLabelsColumnOfActionRunner(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_21/v261.go b/modelmigration/v1_21/v261.go similarity index 87% rename from models/migrations/v1_21/v261.go rename to modelmigration/v1_21/v261.go index 5f98e8b427..59b139ffb5 100644 --- a/models/migrations/v1_21/v261.go +++ b/modelmigration/v1_21/v261.go @@ -4,11 +4,11 @@ package v1_21 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func CreateVariableTable(x db.EngineMigration) error { +func CreateVariableTable(x base.EngineMigration) error { type ActionVariable struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(owner_repo_name)"` diff --git a/models/migrations/v1_21/v262.go b/modelmigration/v1_21/v262.go similarity index 64% rename from models/migrations/v1_21/v262.go rename to modelmigration/v1_21/v262.go index ab05784208..83c156f137 100644 --- a/models/migrations/v1_21/v262.go +++ b/modelmigration/v1_21/v262.go @@ -3,9 +3,9 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddTriggerEventToActionRun(x db.EngineMigration) error { +func AddTriggerEventToActionRun(x base.EngineMigration) error { type ActionRun struct { TriggerEvent string } diff --git a/models/migrations/v1_21/v263.go b/modelmigration/v1_21/v263.go similarity index 90% rename from models/migrations/v1_21/v263.go rename to modelmigration/v1_21/v263.go index 18af1caed4..85d3806c0f 100644 --- a/models/migrations/v1_21/v263.go +++ b/modelmigration/v1_21/v263.go @@ -6,11 +6,11 @@ package v1_21 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) // AddGitSizeAndLFSSizeToRepositoryTable: add GitSize and LFSSize columns to Repository -func AddGitSizeAndLFSSizeToRepositoryTable(x db.EngineMigration) error { +func AddGitSizeAndLFSSizeToRepositoryTable(x base.EngineMigration) error { type Repository struct { GitSize int64 `xorm:"NOT NULL DEFAULT 0"` LFSSize int64 `xorm:"NOT NULL DEFAULT 0"` diff --git a/models/migrations/v1_21/v264.go b/modelmigration/v1_21/v264.go similarity index 96% rename from models/migrations/v1_21/v264.go rename to modelmigration/v1_21/v264.go index 0353f474d4..0cc50be077 100644 --- a/models/migrations/v1_21/v264.go +++ b/modelmigration/v1_21/v264.go @@ -7,11 +7,12 @@ import ( "context" "errors" + "gitea.dev/modelmigration/base" "gitea.dev/models/db" "gitea.dev/modules/timeutil" ) -func AddBranchTable(x db.EngineMigration) error { +func AddBranchTable(x base.EngineMigration) error { type Branch struct { ID int64 RepoID int64 `xorm:"UNIQUE(s)"` diff --git a/models/migrations/v1_21/v265.go b/modelmigration/v1_21/v265.go similarity index 84% rename from models/migrations/v1_21/v265.go rename to modelmigration/v1_21/v265.go index cd991b535d..4e772e7506 100644 --- a/models/migrations/v1_21/v265.go +++ b/modelmigration/v1_21/v265.go @@ -3,9 +3,9 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AlterActionArtifactTable(x db.EngineMigration) error { +func AlterActionArtifactTable(x base.EngineMigration) error { // ActionArtifact is a file that is stored in the artifact storage. type ActionArtifact struct { RunID int64 `xorm:"index unique(runid_name_path)"` // The run id of the artifact diff --git a/models/migrations/v1_21/v266.go b/modelmigration/v1_21/v266.go similarity index 78% rename from models/migrations/v1_21/v266.go rename to modelmigration/v1_21/v266.go index d7ab34e57e..a539498b7b 100644 --- a/models/migrations/v1_21/v266.go +++ b/modelmigration/v1_21/v266.go @@ -3,9 +3,9 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func ReduceCommitStatus(x db.EngineMigration) error { +func ReduceCommitStatus(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_21/v267.go b/modelmigration/v1_21/v267.go similarity index 83% rename from models/migrations/v1_21/v267.go rename to modelmigration/v1_21/v267.go index b6a93cf181..4a9f150e32 100644 --- a/models/migrations/v1_21/v267.go +++ b/modelmigration/v1_21/v267.go @@ -4,11 +4,11 @@ package v1_21 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func CreateActionTasksVersionTable(x db.EngineMigration) error { +func CreateActionTasksVersionTable(x base.EngineMigration) error { type ActionTasksVersion struct { ID int64 `xorm:"pk autoincr"` OwnerID int64 `xorm:"UNIQUE(owner_repo)"` diff --git a/models/migrations/v1_21/v268.go b/modelmigration/v1_21/v268.go similarity index 75% rename from models/migrations/v1_21/v268.go rename to modelmigration/v1_21/v268.go index e9f697645f..63fc601281 100644 --- a/models/migrations/v1_21/v268.go +++ b/modelmigration/v1_21/v268.go @@ -3,10 +3,10 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" // UpdateActionsRefIndex updates the index of actions ref field -func UpdateActionsRefIndex(x db.EngineMigration) error { +func UpdateActionsRefIndex(x base.EngineMigration) error { type ActionRun struct { Ref string `xorm:"index"` // the commit/tag/… causing the run } diff --git a/models/migrations/v1_21/v269.go b/modelmigration/v1_21/v269.go similarity index 59% rename from models/migrations/v1_21/v269.go rename to modelmigration/v1_21/v269.go index 8ea5b3fd41..635663caa7 100644 --- a/models/migrations/v1_21/v269.go +++ b/modelmigration/v1_21/v269.go @@ -3,8 +3,8 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func DropDeletedBranchTable(x db.EngineMigration) error { +func DropDeletedBranchTable(x base.EngineMigration) error { return x.DropTables("deleted_branch") } diff --git a/models/migrations/v1_21/v270.go b/modelmigration/v1_21/v270.go similarity index 83% rename from models/migrations/v1_21/v270.go rename to modelmigration/v1_21/v270.go index 5e1482b320..56b876bd65 100644 --- a/models/migrations/v1_21/v270.go +++ b/modelmigration/v1_21/v270.go @@ -3,9 +3,9 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func FixPackagePropertyTypo(x db.EngineMigration) error { +func FixPackagePropertyTypo(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_21/v271.go b/modelmigration/v1_21/v271.go similarity index 71% rename from models/migrations/v1_21/v271.go rename to modelmigration/v1_21/v271.go index e24f484332..418d1ba214 100644 --- a/models/migrations/v1_21/v271.go +++ b/modelmigration/v1_21/v271.go @@ -4,11 +4,11 @@ package v1_21 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddArchivedUnixColumInLabelTable(x db.EngineMigration) error { +func AddArchivedUnixColumInLabelTable(x base.EngineMigration) error { type Label struct { ArchivedUnix timeutil.TimeStamp `xorm:"DEFAULT NULL"` } diff --git a/models/migrations/v1_21/v272.go b/modelmigration/v1_21/v272.go similarity index 66% rename from models/migrations/v1_21/v272.go rename to modelmigration/v1_21/v272.go index 60335e8b46..b4cc3490d8 100644 --- a/models/migrations/v1_21/v272.go +++ b/modelmigration/v1_21/v272.go @@ -3,9 +3,9 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddVersionToActionRunTable(x db.EngineMigration) error { +func AddVersionToActionRunTable(x base.EngineMigration) error { type ActionRun struct { Version int `xorm:"version default 0"` } diff --git a/models/migrations/v1_21/v273.go b/modelmigration/v1_21/v273.go similarity index 91% rename from models/migrations/v1_21/v273.go rename to modelmigration/v1_21/v273.go index 74c3c8f9eb..b024e713c6 100644 --- a/models/migrations/v1_21/v273.go +++ b/modelmigration/v1_21/v273.go @@ -4,11 +4,11 @@ package v1_21 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddActionScheduleTable(x db.EngineMigration) error { +func AddActionScheduleTable(x base.EngineMigration) error { type ActionSchedule struct { ID int64 Title string diff --git a/models/migrations/v1_21/v274.go b/modelmigration/v1_21/v274.go similarity index 79% rename from models/migrations/v1_21/v274.go rename to modelmigration/v1_21/v274.go index 4644154c63..6fa76f8508 100644 --- a/models/migrations/v1_21/v274.go +++ b/modelmigration/v1_21/v274.go @@ -6,11 +6,11 @@ package v1_21 import ( "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddExpiredUnixColumnInActionArtifactTable(x db.EngineMigration) error { +func AddExpiredUnixColumnInActionArtifactTable(x base.EngineMigration) error { type ActionArtifact struct { ExpiredUnix timeutil.TimeStamp `xorm:"index"` // time when the artifact will be expired } @@ -20,7 +20,7 @@ func AddExpiredUnixColumnInActionArtifactTable(x db.EngineMigration) error { return updateArtifactsExpiredUnixTo90Days(x) } -func updateArtifactsExpiredUnixTo90Days(x db.EngineMigration) error { +func updateArtifactsExpiredUnixTo90Days(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_21/v275.go b/modelmigration/v1_21/v275.go similarity index 64% rename from models/migrations/v1_21/v275.go rename to modelmigration/v1_21/v275.go index 7d999495b6..dc8026af7a 100644 --- a/models/migrations/v1_21/v275.go +++ b/modelmigration/v1_21/v275.go @@ -3,9 +3,9 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddScheduleIDForActionRun(x db.EngineMigration) error { +func AddScheduleIDForActionRun(x base.EngineMigration) error { type ActionRun struct { ScheduleID int64 } diff --git a/models/migrations/v1_21/v276.go b/modelmigration/v1_21/v276.go similarity index 94% rename from models/migrations/v1_21/v276.go rename to modelmigration/v1_21/v276.go index 516cb9628a..9bf4b939b4 100644 --- a/models/migrations/v1_21/v276.go +++ b/modelmigration/v1_21/v276.go @@ -6,13 +6,13 @@ package v1_21 import ( "context" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" repo_model "gitea.dev/models/repo" "gitea.dev/modules/gitrepo" "gitea.dev/modules/setting" ) -func AddRemoteAddressToMirrors(x db.EngineMigration) error { +func AddRemoteAddressToMirrors(x base.EngineMigration) error { type Mirror struct { RemoteAddress string `xorm:"VARCHAR(2048)"` } @@ -32,7 +32,7 @@ func AddRemoteAddressToMirrors(x db.EngineMigration) error { return migratePushMirrors(x) } -func migratePullMirrors(x db.EngineMigration) error { +func migratePullMirrors(x base.EngineMigration) error { type Mirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` @@ -94,7 +94,7 @@ func migratePullMirrors(x db.EngineMigration) error { return sess.Commit() } -func migratePushMirrors(x db.EngineMigration) error { +func migratePushMirrors(x base.EngineMigration) error { type PushMirror struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX"` diff --git a/models/migrations/v1_21/v277.go b/modelmigration/v1_21/v277.go similarity index 66% rename from models/migrations/v1_21/v277.go rename to modelmigration/v1_21/v277.go index 74bc4c86db..8dd84db9f2 100644 --- a/models/migrations/v1_21/v277.go +++ b/modelmigration/v1_21/v277.go @@ -3,9 +3,9 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIndexToIssueUserIssueID(x db.EngineMigration) error { +func AddIndexToIssueUserIssueID(x base.EngineMigration) error { type IssueUser struct { IssueID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_21/v278.go b/modelmigration/v1_21/v278.go similarity index 65% rename from models/migrations/v1_21/v278.go rename to modelmigration/v1_21/v278.go index 1fd5ec7aa0..3250ee340d 100644 --- a/models/migrations/v1_21/v278.go +++ b/modelmigration/v1_21/v278.go @@ -3,9 +3,9 @@ package v1_21 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIndexToCommentDependentIssueID(x db.EngineMigration) error { +func AddIndexToCommentDependentIssueID(x base.EngineMigration) error { type Comment struct { DependentIssueID int64 `xorm:"index"` } diff --git a/models/migrations/v1_21/v279.go b/modelmigration/v1_21/v279.go similarity index 77% rename from models/migrations/v1_21/v279.go rename to modelmigration/v1_21/v279.go index 8cfa6bb090..ab0ca19e52 100644 --- a/models/migrations/v1_21/v279.go +++ b/modelmigration/v1_21/v279.go @@ -4,12 +4,12 @@ package v1_21 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddIndexToActionUserID(x db.EngineMigration) error { +func AddIndexToActionUserID(x base.EngineMigration) error { type Action struct { UserID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_22/main_test.go b/modelmigration/v1_22/main_test.go similarity index 80% rename from models/migrations/v1_22/main_test.go rename to modelmigration/v1_22/main_test.go index f7f9442f21..6a28e3a08c 100644 --- a/models/migrations/v1_22/main_test.go +++ b/modelmigration/v1_22/main_test.go @@ -6,7 +6,7 @@ package v1_22 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_22/v280.go b/modelmigration/v1_22/v280.go similarity index 86% rename from models/migrations/v1_22/v280.go rename to modelmigration/v1_22/v280.go index 5dbab16917..918d7d5652 100644 --- a/models/migrations/v1_22/v280.go +++ b/modelmigration/v1_22/v280.go @@ -3,9 +3,9 @@ package v1_22 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func RenameUserThemes(x db.EngineMigration) error { +func RenameUserThemes(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() diff --git a/models/migrations/v1_22/v281.go b/modelmigration/v1_22/v281.go similarity index 79% rename from models/migrations/v1_22/v281.go rename to modelmigration/v1_22/v281.go index 295d6b4aa9..e75795ba71 100644 --- a/models/migrations/v1_22/v281.go +++ b/modelmigration/v1_22/v281.go @@ -4,11 +4,11 @@ package v1_22 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func CreateAuthTokenTable(x db.EngineMigration) error { +func CreateAuthTokenTable(x base.EngineMigration) error { type AuthToken struct { ID string `xorm:"pk"` TokenHash string diff --git a/models/migrations/v1_22/v282.go b/modelmigration/v1_22/v282.go similarity index 66% rename from models/migrations/v1_22/v282.go rename to modelmigration/v1_22/v282.go index fca5e1d5c2..cf69132567 100644 --- a/models/migrations/v1_22/v282.go +++ b/modelmigration/v1_22/v282.go @@ -3,9 +3,9 @@ package v1_22 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIndexToPullAutoMergeDoerID(x db.EngineMigration) error { +func AddIndexToPullAutoMergeDoerID(x base.EngineMigration) error { type PullAutoMerge struct { DoerID int64 `xorm:"INDEX NOT NULL"` } diff --git a/models/migrations/v1_22/v283.go b/modelmigration/v1_22/v283.go similarity index 92% rename from models/migrations/v1_22/v283.go rename to modelmigration/v1_22/v283.go index 4aca890a85..31818ae150 100644 --- a/models/migrations/v1_22/v283.go +++ b/modelmigration/v1_22/v283.go @@ -6,12 +6,12 @@ package v1_22 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) -func AddCombinedIndexToIssueUser(x db.EngineMigration) error { +func AddCombinedIndexToIssueUser(x base.EngineMigration) error { type OldIssueUser struct { IssueID int64 UID int64 diff --git a/models/migrations/v1_22/v283_test.go b/modelmigration/v1_22/v283_test.go similarity index 93% rename from models/migrations/v1_22/v283_test.go rename to modelmigration/v1_22/v283_test.go index 9705c3ee2f..40afe14593 100644 --- a/models/migrations/v1_22/v283_test.go +++ b/modelmigration/v1_22/v283_test.go @@ -6,7 +6,7 @@ package v1_22 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_22/v284.go b/modelmigration/v1_22/v284.go similarity index 75% rename from models/migrations/v1_22/v284.go rename to modelmigration/v1_22/v284.go index 55a1646973..27d38a0cee 100644 --- a/models/migrations/v1_22/v284.go +++ b/modelmigration/v1_22/v284.go @@ -4,12 +4,12 @@ package v1_22 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddIgnoreStaleApprovalsColumnToProtectedBranchTable(x db.EngineMigration) error { +func AddIgnoreStaleApprovalsColumnToProtectedBranchTable(x base.EngineMigration) error { type ProtectedBranch struct { IgnoreStaleApprovals bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_22/v285.go b/modelmigration/v1_22/v285.go similarity index 76% rename from models/migrations/v1_22/v285.go rename to modelmigration/v1_22/v285.go index 6cd24a2148..e3b08eaeb7 100644 --- a/models/migrations/v1_22/v285.go +++ b/modelmigration/v1_22/v285.go @@ -6,12 +6,12 @@ package v1_22 import ( "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddPreviousDurationToActionRun(x db.EngineMigration) error { +func AddPreviousDurationToActionRun(x base.EngineMigration) error { type ActionRun struct { PreviousDuration time.Duration } diff --git a/models/migrations/v1_22/v286.go b/modelmigration/v1_22/v286.go similarity index 93% rename from models/migrations/v1_22/v286.go rename to modelmigration/v1_22/v286.go index 3f49400c2b..6e6058890f 100644 --- a/models/migrations/v1_22/v286.go +++ b/modelmigration/v1_22/v286.go @@ -6,14 +6,14 @@ import ( "errors" "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" "gitea.dev/modules/setting" "xorm.io/xorm" ) -func expandHashReferencesToSha256(x db.EngineMigration) error { +func expandHashReferencesToSha256(x base.EngineMigration) error { alteredTables := [][2]string{ {"commit_status", "context_hash"}, {"comment", "commit_sha"}, @@ -82,7 +82,7 @@ func expandHashReferencesToSha256(x db.EngineMigration) error { return db.Commit() } -func addObjectFormatNameToRepository(x db.EngineMigration) error { +func addObjectFormatNameToRepository(x base.EngineMigration) error { type Repository struct { ObjectFormatName string `xorm:"VARCHAR(6) NOT NULL DEFAULT 'sha1'"` } @@ -100,7 +100,7 @@ func addObjectFormatNameToRepository(x db.EngineMigration) error { return err } -func AdjustDBForSha256(x db.EngineMigration) error { +func AdjustDBForSha256(x base.EngineMigration) error { if err := expandHashReferencesToSha256(x); err != nil { return err } diff --git a/models/migrations/v1_22/v286_test.go b/modelmigration/v1_22/v286_test.go similarity index 94% rename from models/migrations/v1_22/v286_test.go rename to modelmigration/v1_22/v286_test.go index 1874cbe884..53956803b7 100644 --- a/models/migrations/v1_22/v286_test.go +++ b/modelmigration/v1_22/v286_test.go @@ -6,13 +6,13 @@ package v1_22 import ( "testing" - "gitea.dev/models/db" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/base" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) -func PrepareOldRepository(t *testing.T) (db.EngineMigration, func()) { +func PrepareOldRepository(t *testing.T) (base.EngineMigration, func()) { type Repository struct { // old struct ID int64 `xorm:"pk autoincr"` } diff --git a/models/migrations/v1_22/v287.go b/modelmigration/v1_22/v287.go similarity index 86% rename from models/migrations/v1_22/v287.go rename to modelmigration/v1_22/v287.go index 7b3de53b77..e85b4dbbe5 100644 --- a/models/migrations/v1_22/v287.go +++ b/modelmigration/v1_22/v287.go @@ -3,7 +3,7 @@ package v1_22 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" type BadgeUnique struct { ID int64 `xorm:"pk autoincr"` @@ -14,7 +14,7 @@ func (BadgeUnique) TableName() string { return "badge" } -func UseSlugInsteadOfIDForBadges(x db.EngineMigration) error { +func UseSlugInsteadOfIDForBadges(x base.EngineMigration) error { type Badge struct { Slug string } diff --git a/models/migrations/v1_22/v287_test.go b/modelmigration/v1_22/v287_test.go similarity index 96% rename from models/migrations/v1_22/v287_test.go rename to modelmigration/v1_22/v287_test.go index 7ac86d5d0f..28d4c29015 100644 --- a/models/migrations/v1_22/v287_test.go +++ b/modelmigration/v1_22/v287_test.go @@ -7,7 +7,7 @@ import ( "strconv" "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_22/v288.go b/modelmigration/v1_22/v288.go similarity index 83% rename from models/migrations/v1_22/v288.go rename to modelmigration/v1_22/v288.go index cb133631c3..a9913180df 100644 --- a/models/migrations/v1_22/v288.go +++ b/modelmigration/v1_22/v288.go @@ -4,7 +4,7 @@ package v1_22 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) @@ -20,6 +20,6 @@ func (*Blocking) TableName() string { return "user_blocking" } -func AddUserBlockingTable(x db.EngineMigration) error { +func AddUserBlockingTable(x base.EngineMigration) error { return x.Sync(&Blocking{}) } diff --git a/models/migrations/v1_22/v289.go b/modelmigration/v1_22/v289.go similarity index 85% rename from models/migrations/v1_22/v289.go rename to modelmigration/v1_22/v289.go index e32e5b2a7f..72fce2be67 100644 --- a/models/migrations/v1_22/v289.go +++ b/modelmigration/v1_22/v289.go @@ -4,12 +4,12 @@ package v1_22 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddDefaultWikiBranch(x db.EngineMigration) error { +func AddDefaultWikiBranch(x base.EngineMigration) error { type Repository struct { ID int64 DefaultWikiBranch string diff --git a/models/migrations/v1_22/v290.go b/modelmigration/v1_22/v290.go similarity index 82% rename from models/migrations/v1_22/v290.go rename to modelmigration/v1_22/v290.go index 55d1c192a7..1370315a7f 100644 --- a/models/migrations/v1_22/v290.go +++ b/modelmigration/v1_22/v290.go @@ -4,7 +4,7 @@ package v1_22 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) @@ -13,7 +13,7 @@ type HookTask struct { PayloadVersion int `xorm:"DEFAULT 1"` } -func AddPayloadVersionToHookTaskTable(x db.EngineMigration) error { +func AddPayloadVersionToHookTaskTable(x base.EngineMigration) error { // create missing column if _, err := x.SyncWithOptions(xorm.SyncOptions{ IgnoreIndices: true, diff --git a/models/migrations/v1_22/v291.go b/modelmigration/v1_22/v291.go similarity index 76% rename from models/migrations/v1_22/v291.go rename to modelmigration/v1_22/v291.go index 316fc1675f..bb28dd62c3 100644 --- a/models/migrations/v1_22/v291.go +++ b/modelmigration/v1_22/v291.go @@ -4,12 +4,12 @@ package v1_22 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddCommentIDIndexofAttachment(x db.EngineMigration) error { +func AddCommentIDIndexofAttachment(x base.EngineMigration) error { type Attachment struct { CommentID int64 `xorm:"INDEX"` } diff --git a/models/migrations/v1_22/v292.go b/modelmigration/v1_22/v292.go similarity index 100% rename from models/migrations/v1_22/v292.go rename to modelmigration/v1_22/v292.go diff --git a/models/migrations/v1_22/v293.go b/modelmigration/v1_22/v293.go similarity index 93% rename from models/migrations/v1_22/v293.go rename to modelmigration/v1_22/v293.go index 8c082cea3b..3a119988c4 100644 --- a/models/migrations/v1_22/v293.go +++ b/modelmigration/v1_22/v293.go @@ -4,13 +4,13 @@ package v1_22 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" "gitea.dev/modules/timeutil" ) // CheckProjectColumnsConsistency ensures there is exactly one default board per project present -func CheckProjectColumnsConsistency(x db.EngineMigration) error { +func CheckProjectColumnsConsistency(x base.EngineMigration) error { sess := x.NewSession() defer sess.Close() @@ -78,7 +78,7 @@ func CheckProjectColumnsConsistency(x db.EngineMigration) error { return removeDuplicatedBoardDefault(x) } -func removeDuplicatedBoardDefault(x db.EngineMigration) error { +func removeDuplicatedBoardDefault(x base.EngineMigration) error { type ProjectInfo struct { ProjectID int64 DefaultNum int diff --git a/models/migrations/v1_22/v293_test.go b/modelmigration/v1_22/v293_test.go similarity index 96% rename from models/migrations/v1_22/v293_test.go rename to modelmigration/v1_22/v293_test.go index c19d0a4aa5..bac5e4ea33 100644 --- a/models/migrations/v1_22/v293_test.go +++ b/modelmigration/v1_22/v293_test.go @@ -6,7 +6,7 @@ package v1_22 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/models/project" "github.com/stretchr/testify/assert" diff --git a/models/migrations/v1_22/v294.go b/modelmigration/v1_22/v294.go similarity index 93% rename from models/migrations/v1_22/v294.go rename to modelmigration/v1_22/v294.go index 2c8f174493..11ee21ddf8 100644 --- a/models/migrations/v1_22/v294.go +++ b/modelmigration/v1_22/v294.go @@ -6,13 +6,13 @@ package v1_22 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) // AddUniqueIndexForProjectIssue adds unique indexes for project issue table -func AddUniqueIndexForProjectIssue(x db.EngineMigration) error { +func AddUniqueIndexForProjectIssue(x base.EngineMigration) error { // remove possible duplicated records in table project_issue type result struct { IssueID int64 diff --git a/models/migrations/v1_22/v294_test.go b/modelmigration/v1_22/v294_test.go similarity index 96% rename from models/migrations/v1_22/v294_test.go rename to modelmigration/v1_22/v294_test.go index 6a21b0adc5..91e14aa218 100644 --- a/models/migrations/v1_22/v294_test.go +++ b/modelmigration/v1_22/v294_test.go @@ -6,7 +6,7 @@ package v1_22 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" "xorm.io/xorm/schemas" diff --git a/models/migrations/v1_22/v295.go b/modelmigration/v1_22/v295.go similarity index 83% rename from models/migrations/v1_22/v295.go rename to modelmigration/v1_22/v295.go index 7595460281..cde1cc4631 100644 --- a/models/migrations/v1_22/v295.go +++ b/modelmigration/v1_22/v295.go @@ -3,9 +3,9 @@ package v1_22 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddCommitStatusSummary(x db.EngineMigration) error { +func AddCommitStatusSummary(x base.EngineMigration) error { type CommitStatusSummary struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"INDEX UNIQUE(repo_id_sha)"` diff --git a/models/migrations/v1_22/v296.go b/modelmigration/v1_22/v296.go similarity index 79% rename from models/migrations/v1_22/v296.go rename to modelmigration/v1_22/v296.go index 79134dea01..e955a59504 100644 --- a/models/migrations/v1_22/v296.go +++ b/modelmigration/v1_22/v296.go @@ -3,9 +3,9 @@ package v1_22 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddCommitStatusSummary2(x db.EngineMigration) error { +func AddCommitStatusSummary2(x base.EngineMigration) error { type CommitStatusSummary struct { ID int64 `xorm:"pk autoincr"` TargetURL string `xorm:"TEXT"` diff --git a/models/migrations/v1_22/v297.go b/modelmigration/v1_22/v297.go similarity index 74% rename from models/migrations/v1_22/v297.go rename to modelmigration/v1_22/v297.go index 9912434e44..af42b5c67c 100644 --- a/models/migrations/v1_22/v297.go +++ b/modelmigration/v1_22/v297.go @@ -4,11 +4,11 @@ package v1_22 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/models/perm" ) -func AddRepoUnitEveryoneAccessMode(x db.EngineMigration) error { +func AddRepoUnitEveryoneAccessMode(x base.EngineMigration) error { type RepoUnit struct { //revive:disable-line:exported EveryoneAccessMode perm.AccessMode `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_22/v298.go b/modelmigration/v1_22/v298.go similarity index 60% rename from models/migrations/v1_22/v298.go rename to modelmigration/v1_22/v298.go index d334ff4142..30477ad529 100644 --- a/models/migrations/v1_22/v298.go +++ b/modelmigration/v1_22/v298.go @@ -3,8 +3,8 @@ package v1_22 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func DropWronglyCreatedTable(x db.EngineMigration) error { +func DropWronglyCreatedTable(x base.EngineMigration) error { return x.DropTables("o_auth2_application") } diff --git a/models/migrations/v1_23/main_test.go b/modelmigration/v1_23/main_test.go similarity index 80% rename from models/migrations/v1_23/main_test.go rename to modelmigration/v1_23/main_test.go index 03a2a2d048..1a77658b70 100644 --- a/models/migrations/v1_23/main_test.go +++ b/modelmigration/v1_23/main_test.go @@ -6,7 +6,7 @@ package v1_23 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_23/v299.go b/modelmigration/v1_23/v299.go similarity index 80% rename from models/migrations/v1_23/v299.go rename to modelmigration/v1_23/v299.go index cb6fd97c92..2f4454eb45 100644 --- a/models/migrations/v1_23/v299.go +++ b/modelmigration/v1_23/v299.go @@ -4,12 +4,12 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddContentVersionToIssueAndComment(x db.EngineMigration) error { +func AddContentVersionToIssueAndComment(x base.EngineMigration) error { type Issue struct { ContentVersion int `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_23/v300.go b/modelmigration/v1_23/v300.go similarity index 86% rename from models/migrations/v1_23/v300.go rename to modelmigration/v1_23/v300.go index 06c6c161b6..2c78f67364 100644 --- a/models/migrations/v1_23/v300.go +++ b/modelmigration/v1_23/v300.go @@ -4,12 +4,12 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddForcePushBranchProtection(x db.EngineMigration) error { +func AddForcePushBranchProtection(x base.EngineMigration) error { type ProtectedBranch struct { CanForcePush bool `xorm:"NOT NULL DEFAULT false"` EnableForcePushAllowlist bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_23/v301.go b/modelmigration/v1_23/v301.go similarity index 80% rename from models/migrations/v1_23/v301.go rename to modelmigration/v1_23/v301.go index 03f6f2012a..245a0f5749 100644 --- a/models/migrations/v1_23/v301.go +++ b/modelmigration/v1_23/v301.go @@ -4,13 +4,13 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) // AddSkipSeconderyAuthToOAuth2ApplicationTable: add SkipSecondaryAuthorization column, setting existing rows to false -func AddSkipSecondaryAuthColumnToOAuth2ApplicationTable(x db.EngineMigration) error { +func AddSkipSecondaryAuthColumnToOAuth2ApplicationTable(x base.EngineMigration) error { type oauth2Application struct { SkipSecondaryAuthorization bool `xorm:"NOT NULL DEFAULT FALSE"` } diff --git a/models/migrations/v1_23/v302.go b/modelmigration/v1_23/v302.go similarity index 80% rename from models/migrations/v1_23/v302.go rename to modelmigration/v1_23/v302.go index c347a0a068..78fd630e4c 100644 --- a/models/migrations/v1_23/v302.go +++ b/modelmigration/v1_23/v302.go @@ -4,13 +4,13 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" "xorm.io/xorm" ) -func AddIndexToActionTaskStoppedLogExpired(x db.EngineMigration) error { +func AddIndexToActionTaskStoppedLogExpired(x base.EngineMigration) error { type ActionTask struct { Stopped timeutil.TimeStamp `xorm:"index(stopped_log_expired)"` LogExpired bool `xorm:"index(stopped_log_expired)"` diff --git a/models/migrations/v1_23/v302_test.go b/modelmigration/v1_23/v302_test.go similarity index 97% rename from models/migrations/v1_23/v302_test.go rename to modelmigration/v1_23/v302_test.go index c0af662fc9..a6a9033305 100644 --- a/models/migrations/v1_23/v302_test.go +++ b/modelmigration/v1_23/v302_test.go @@ -6,7 +6,7 @@ package v1_23 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/timeutil" "github.com/stretchr/testify/assert" diff --git a/models/migrations/v1_23/v303.go b/modelmigration/v1_23/v303.go similarity index 88% rename from models/migrations/v1_23/v303.go rename to modelmigration/v1_23/v303.go index c11e23b2f3..a73e852f35 100644 --- a/models/migrations/v1_23/v303.go +++ b/modelmigration/v1_23/v303.go @@ -4,7 +4,7 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) @@ -16,7 +16,7 @@ type CommentMetaData struct { ProjectTitle string `json:"project_title"` } -func AddCommentMetaDataColumn(x db.EngineMigration) error { +func AddCommentMetaDataColumn(x base.EngineMigration) error { type Comment struct { CommentMetaData *CommentMetaData `xorm:"JSON TEXT"` // put all non-index metadata in a single field } diff --git a/models/migrations/v1_23/v304.go b/modelmigration/v1_23/v304.go similarity index 76% rename from models/migrations/v1_23/v304.go rename to modelmigration/v1_23/v304.go index 2920c712a8..fa6e7cb1e8 100644 --- a/models/migrations/v1_23/v304.go +++ b/modelmigration/v1_23/v304.go @@ -4,12 +4,12 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddIndexForReleaseSha1(x db.EngineMigration) error { +func AddIndexForReleaseSha1(x base.EngineMigration) error { type Release struct { Sha1 string `xorm:"INDEX VARCHAR(64)"` } diff --git a/models/migrations/v1_23/v304_test.go b/modelmigration/v1_23/v304_test.go similarity index 96% rename from models/migrations/v1_23/v304_test.go rename to modelmigration/v1_23/v304_test.go index 2cd550d395..1672e46626 100644 --- a/models/migrations/v1_23/v304_test.go +++ b/modelmigration/v1_23/v304_test.go @@ -6,7 +6,7 @@ package v1_23 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/timeutil" "github.com/stretchr/testify/assert" diff --git a/models/migrations/v1_23/v305.go b/modelmigration/v1_23/v305.go similarity index 84% rename from models/migrations/v1_23/v305.go rename to modelmigration/v1_23/v305.go index 9832fd17b6..823d04e599 100644 --- a/models/migrations/v1_23/v305.go +++ b/modelmigration/v1_23/v305.go @@ -4,11 +4,11 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddRepositoryLicenses(x db.EngineMigration) error { +func AddRepositoryLicenses(x base.EngineMigration) error { type RepoLicense struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"UNIQUE(s) NOT NULL"` diff --git a/models/migrations/v1_23/v306.go b/modelmigration/v1_23/v306.go similarity index 76% rename from models/migrations/v1_23/v306.go rename to modelmigration/v1_23/v306.go index 7da7b548f3..843f578f61 100644 --- a/models/migrations/v1_23/v306.go +++ b/modelmigration/v1_23/v306.go @@ -4,12 +4,12 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddBlockAdminMergeOverrideBranchProtection(x db.EngineMigration) error { +func AddBlockAdminMergeOverrideBranchProtection(x base.EngineMigration) error { type ProtectedBranch struct { BlockAdminMergeOverride bool `xorm:"NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_23/v307.go b/modelmigration/v1_23/v307.go similarity index 81% rename from models/migrations/v1_23/v307.go rename to modelmigration/v1_23/v307.go index f87257b21e..94e6346d8f 100644 --- a/models/migrations/v1_23/v307.go +++ b/modelmigration/v1_23/v307.go @@ -4,11 +4,11 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func FixMilestoneNoDueDate(x db.EngineMigration) error { +func FixMilestoneNoDueDate(x base.EngineMigration) error { type Milestone struct { DeadlineUnix timeutil.TimeStamp } diff --git a/models/migrations/v1_23/v308.go b/modelmigration/v1_23/v308.go similarity index 93% rename from models/migrations/v1_23/v308.go rename to modelmigration/v1_23/v308.go index 8a511aae77..1dfd225c19 100644 --- a/models/migrations/v1_23/v308.go +++ b/modelmigration/v1_23/v308.go @@ -4,7 +4,7 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" "xorm.io/xorm/schemas" @@ -47,6 +47,6 @@ func (a *improveActionTableIndicesAction) TableIndices() []*schemas.Index { return indices } -func AddNewIndexForUserDashboard(x db.EngineMigration) error { +func AddNewIndexForUserDashboard(x base.EngineMigration) error { return x.Sync(new(improveActionTableIndicesAction)) } diff --git a/models/migrations/v1_23/v309.go b/modelmigration/v1_23/v309.go similarity index 95% rename from models/migrations/v1_23/v309.go rename to modelmigration/v1_23/v309.go index 432ae62e3c..40a1650a99 100644 --- a/models/migrations/v1_23/v309.go +++ b/modelmigration/v1_23/v309.go @@ -4,7 +4,7 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" "xorm.io/xorm/schemas" @@ -72,6 +72,6 @@ func (*improveNotificationTableIndicesAction) TableIndices() []*schemas.Index { return indices } -func ImproveNotificationTableIndices(x db.EngineMigration) error { +func ImproveNotificationTableIndices(x base.EngineMigration) error { return x.Sync(&improveNotificationTableIndicesAction{}) } diff --git a/models/migrations/v1_23/v310.go b/modelmigration/v1_23/v310.go similarity index 78% rename from models/migrations/v1_23/v310.go rename to modelmigration/v1_23/v310.go index 845eaf19ba..b2d51cd93d 100644 --- a/models/migrations/v1_23/v310.go +++ b/modelmigration/v1_23/v310.go @@ -4,12 +4,12 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddPriorityToProtectedBranch(x db.EngineMigration) error { +func AddPriorityToProtectedBranch(x base.EngineMigration) error { type ProtectedBranch struct { Priority int64 `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_23/v311.go b/modelmigration/v1_23/v311.go similarity index 76% rename from models/migrations/v1_23/v311.go rename to modelmigration/v1_23/v311.go index 8b9c0e78a3..4c2bfd9a07 100644 --- a/models/migrations/v1_23/v311.go +++ b/modelmigration/v1_23/v311.go @@ -4,12 +4,12 @@ package v1_23 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddTimeEstimateColumnToIssueTable(x db.EngineMigration) error { +func AddTimeEstimateColumnToIssueTable(x base.EngineMigration) error { type Issue struct { TimeEstimate int64 `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_24/v312.go b/modelmigration/v1_24/v312.go similarity index 80% rename from models/migrations/v1_24/v312.go rename to modelmigration/v1_24/v312.go index c3f0c5635d..8b35b2e25f 100644 --- a/models/migrations/v1_24/v312.go +++ b/modelmigration/v1_24/v312.go @@ -4,7 +4,7 @@ package v1_24 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) @@ -18,7 +18,7 @@ func (pullAutoMerge) TableName() string { return "pull_auto_merge" } -func AddDeleteBranchAfterMergeForAutoMerge(x db.EngineMigration) error { +func AddDeleteBranchAfterMergeForAutoMerge(x base.EngineMigration) error { _, err := x.SyncWithOptions(xorm.SyncOptions{ IgnoreConstrains: true, IgnoreIndices: true, diff --git a/models/migrations/v1_24/v313.go b/modelmigration/v1_24/v313.go similarity index 85% rename from models/migrations/v1_24/v313.go rename to modelmigration/v1_24/v313.go index 69bfda106e..3584e3af34 100644 --- a/models/migrations/v1_24/v313.go +++ b/modelmigration/v1_24/v313.go @@ -4,11 +4,10 @@ package v1_24 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func MovePinOrderToTableIssuePin(x db.EngineMigration) error { +func MovePinOrderToTableIssuePin(x base.EngineMigration) error { type IssuePin struct { ID int64 `xorm:"pk autoincr"` RepoID int64 `xorm:"UNIQUE(s) NOT NULL"` diff --git a/models/migrations/v1_24/v314.go b/modelmigration/v1_24/v314.go similarity index 81% rename from models/migrations/v1_24/v314.go rename to modelmigration/v1_24/v314.go index 502dce9c2a..7202e659c3 100644 --- a/models/migrations/v1_24/v314.go +++ b/modelmigration/v1_24/v314.go @@ -3,9 +3,9 @@ package v1_24 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func UpdateOwnerIDOfRepoLevelActionsTables(x db.EngineMigration) error { +func UpdateOwnerIDOfRepoLevelActionsTables(x base.EngineMigration) error { if _, err := x.Exec("UPDATE `action_runner` SET `owner_id` = 0 WHERE `repo_id` > 0 AND `owner_id` > 0"); err != nil { return err } diff --git a/models/migrations/v1_24/v315.go b/modelmigration/v1_24/v315.go similarity index 78% rename from models/migrations/v1_24/v315.go rename to modelmigration/v1_24/v315.go index 168b9efb32..0130cfcd3e 100644 --- a/models/migrations/v1_24/v315.go +++ b/modelmigration/v1_24/v315.go @@ -4,12 +4,12 @@ package v1_24 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddEphemeralToActionRunner(x db.EngineMigration) error { +func AddEphemeralToActionRunner(x base.EngineMigration) error { type ActionRunner struct { Ephemeral bool `xorm:"ephemeral NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_24/v316.go b/modelmigration/v1_24/v316.go similarity index 79% rename from models/migrations/v1_24/v316.go rename to modelmigration/v1_24/v316.go index 9539ee8a99..f09984f0b2 100644 --- a/models/migrations/v1_24/v316.go +++ b/modelmigration/v1_24/v316.go @@ -4,12 +4,12 @@ package v1_24 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddDescriptionForSecretsAndVariables(x db.EngineMigration) error { +func AddDescriptionForSecretsAndVariables(x base.EngineMigration) error { type Secret struct { Description string `xorm:"TEXT"` } diff --git a/models/migrations/v1_24/v317.go b/modelmigration/v1_24/v317.go similarity index 94% rename from models/migrations/v1_24/v317.go rename to modelmigration/v1_24/v317.go index 622f9e03dd..2b359b6ce0 100644 --- a/models/migrations/v1_24/v317.go +++ b/modelmigration/v1_24/v317.go @@ -4,7 +4,7 @@ package v1_24 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" "xorm.io/xorm/schemas" @@ -51,6 +51,6 @@ func (a *improveActionTableIndicesAction) TableIndices() []*schemas.Index { return indices } -func AddNewIndexForUserDashboard(x db.EngineMigration) error { +func AddNewIndexForUserDashboard(x base.EngineMigration) error { return x.Sync(new(improveActionTableIndicesAction)) } diff --git a/models/migrations/v1_24/v318.go b/modelmigration/v1_24/v318.go similarity index 80% rename from models/migrations/v1_24/v318.go rename to modelmigration/v1_24/v318.go index cad0ca397d..d9d9b429e1 100644 --- a/models/migrations/v1_24/v318.go +++ b/modelmigration/v1_24/v318.go @@ -4,13 +4,13 @@ package v1_24 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/models/perm" "xorm.io/xorm" ) -func AddRepoUnitAnonymousAccessMode(x db.EngineMigration) error { +func AddRepoUnitAnonymousAccessMode(x base.EngineMigration) error { type RepoUnit struct { //revive:disable-line:exported AnonymousAccessMode perm.AccessMode `xorm:"NOT NULL DEFAULT 0"` } diff --git a/models/migrations/v1_24/v319.go b/modelmigration/v1_24/v319.go similarity index 75% rename from models/migrations/v1_24/v319.go rename to modelmigration/v1_24/v319.go index a26ac0ce71..bd9bf2725c 100644 --- a/models/migrations/v1_24/v319.go +++ b/modelmigration/v1_24/v319.go @@ -4,12 +4,12 @@ package v1_24 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddExclusiveOrderColumnToLabelTable(x db.EngineMigration) error { +func AddExclusiveOrderColumnToLabelTable(x base.EngineMigration) error { type Label struct { ExclusiveOrder int `xorm:"DEFAULT 0"` } diff --git a/models/migrations/v1_24/v320.go b/modelmigration/v1_24/v320.go similarity index 91% rename from models/migrations/v1_24/v320.go rename to modelmigration/v1_24/v320.go index 7ff7a78033..742f580e86 100644 --- a/models/migrations/v1_24/v320.go +++ b/modelmigration/v1_24/v320.go @@ -4,13 +4,13 @@ package v1_24 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/json" "xorm.io/xorm" ) -func MigrateSkipTwoFactor(x db.EngineMigration) error { +func MigrateSkipTwoFactor(x base.EngineMigration) error { type LoginSource struct { TwoFactorPolicy string `xorm:"two_factor_policy NOT NULL DEFAULT ''"` } diff --git a/models/migrations/v1_25/main_test.go b/modelmigration/v1_25/main_test.go similarity index 80% rename from models/migrations/v1_25/main_test.go rename to modelmigration/v1_25/main_test.go index a4fbc0e6ab..6828174ddb 100644 --- a/models/migrations/v1_25/main_test.go +++ b/modelmigration/v1_25/main_test.go @@ -6,7 +6,7 @@ package v1_25 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_25/v321.go b/modelmigration/v1_25/v321.go similarity index 88% rename from models/migrations/v1_25/v321.go rename to modelmigration/v1_25/v321.go index dfea8f0d44..dceb08c2ba 100644 --- a/models/migrations/v1_25/v321.go +++ b/modelmigration/v1_25/v321.go @@ -4,14 +4,13 @@ package v1_25 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" "xorm.io/xorm/schemas" ) -func UseLongTextInSomeColumnsAndFixBugs(x db.EngineMigration) error { +func UseLongTextInSomeColumnsAndFixBugs(x base.EngineMigration) error { if !setting.Database.Type.IsMySQL() { return nil // Only mysql need to change from text to long text, for other databases, they are the same } diff --git a/models/migrations/v1_25/v321_test.go b/modelmigration/v1_25/v321_test.go similarity index 98% rename from models/migrations/v1_25/v321_test.go rename to modelmigration/v1_25/v321_test.go index a20b4c916d..18aaef9076 100644 --- a/models/migrations/v1_25/v321_test.go +++ b/modelmigration/v1_25/v321_test.go @@ -6,7 +6,7 @@ package v1_25 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/setting" "gitea.dev/modules/timeutil" diff --git a/models/migrations/v1_25/v322.go b/modelmigration/v1_25/v322.go similarity index 81% rename from models/migrations/v1_25/v322.go rename to modelmigration/v1_25/v322.go index 16eabace32..66110c297d 100644 --- a/models/migrations/v1_25/v322.go +++ b/modelmigration/v1_25/v322.go @@ -4,13 +4,12 @@ package v1_25 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) -func ExtendCommentTreePathLength(x db.EngineMigration) error { +func ExtendCommentTreePathLength(x base.EngineMigration) error { dbType := x.Dialect().URI().DBType if dbType == schemas.SQLITE { // For SQLITE, varchar or char will always be represented as TEXT return nil diff --git a/models/migrations/v1_25/v322_test.go b/modelmigration/v1_25/v322_test.go similarity index 95% rename from models/migrations/v1_25/v322_test.go rename to modelmigration/v1_25/v322_test.go index 2e5f9a87d9..fd1f7b2233 100644 --- a/models/migrations/v1_25/v322_test.go +++ b/modelmigration/v1_25/v322_test.go @@ -6,7 +6,7 @@ package v1_25 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/setting" "github.com/stretchr/testify/assert" diff --git a/models/migrations/v1_26/main_test.go b/modelmigration/v1_26/main_test.go similarity index 80% rename from models/migrations/v1_26/main_test.go rename to modelmigration/v1_26/main_test.go index 9befeee38f..799475c7d0 100644 --- a/models/migrations/v1_26/main_test.go +++ b/modelmigration/v1_26/main_test.go @@ -6,7 +6,7 @@ package v1_26 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_26/v323.go b/modelmigration/v1_26/v323.go similarity index 91% rename from models/migrations/v1_26/v323.go rename to modelmigration/v1_26/v323.go index f2a701cb8f..fe244878e9 100644 --- a/models/migrations/v1_26/v323.go +++ b/modelmigration/v1_26/v323.go @@ -4,12 +4,12 @@ package v1_26 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddActionsConcurrency(x db.EngineMigration) error { +func AddActionsConcurrency(x base.EngineMigration) error { type ActionRun struct { RepoID int64 `xorm:"index(repo_concurrency)"` RawConcurrency string diff --git a/models/migrations/v1_26/v324.go b/modelmigration/v1_26/v324.go similarity index 86% rename from models/migrations/v1_26/v324.go rename to modelmigration/v1_26/v324.go index cca28e1241..9f086f96f0 100644 --- a/models/migrations/v1_26/v324.go +++ b/modelmigration/v1_26/v324.go @@ -6,10 +6,10 @@ package v1_26 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" ) -func FixClosedMilestoneCompleteness(x db.EngineMigration) error { +func FixClosedMilestoneCompleteness(x base.EngineMigration) error { // Update all milestones to recalculate completeness with the new logic: // - Closed milestones with 0 issues should show 100% // - All other milestones should calculate based on closed/total ratio diff --git a/models/migrations/v1_26/v325.go b/modelmigration/v1_26/v325.go similarity index 82% rename from models/migrations/v1_26/v325.go rename to modelmigration/v1_26/v325.go index e7bac3e02d..f4dc8a537d 100644 --- a/models/migrations/v1_26/v325.go +++ b/modelmigration/v1_26/v325.go @@ -3,9 +3,9 @@ package v1_26 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func FixMissedRepoIDWhenMigrateAttachments(x db.EngineMigration) error { +func FixMissedRepoIDWhenMigrateAttachments(x base.EngineMigration) error { _, err := x.Exec("UPDATE `attachment` SET `repo_id` = (SELECT `repo_id` FROM `issue` WHERE `issue`.`id` = `attachment`.`issue_id`) WHERE `issue_id` > 0 AND (`repo_id` IS NULL OR `repo_id` = 0);") if err != nil { return err diff --git a/models/migrations/v1_26/v325_test.go b/modelmigration/v1_26/v325_test.go similarity index 96% rename from models/migrations/v1_26/v325_test.go rename to modelmigration/v1_26/v325_test.go index b18b954469..882b9e2c46 100644 --- a/models/migrations/v1_26/v325_test.go +++ b/modelmigration/v1_26/v325_test.go @@ -6,7 +6,7 @@ package v1_26 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/timeutil" "github.com/stretchr/testify/require" diff --git a/models/migrations/v1_26/v326.go b/modelmigration/v1_26/v326.go similarity index 95% rename from models/migrations/v1_26/v326.go rename to modelmigration/v1_26/v326.go index b2c28f06d9..b93e74002e 100644 --- a/models/migrations/v1_26/v326.go +++ b/modelmigration/v1_26/v326.go @@ -10,7 +10,7 @@ import ( "strconv" "strings" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/json" "gitea.dev/modules/log" "gitea.dev/modules/setting" @@ -91,7 +91,7 @@ type commitSHAAndRuns struct { // Only rows whose resolved run ID is below legacyURLIDThreshold are rewritten. // This is because smaller legacy run indexes are more likely to collide with run ID URLs during runtime resolution, // so this migration prioritizes that lower range and leaves the remaining legacy target URLs to the web compatibility logic. -func FixCommitStatusTargetURLToUseRunAndJobID(x db.EngineMigration) error { +func FixCommitStatusTargetURLToUseRunAndJobID(x base.EngineMigration) error { jobsByRunIDCache := make(map[int64][]int64) repoLinkCache := make(map[int64]string) groups, err := loadLegacyMigrationRunGroups(x) @@ -112,7 +112,7 @@ func FixCommitStatusTargetURLToUseRunAndJobID(x db.EngineMigration) error { return nil } -func loadLegacyMigrationRunGroups(x db.EngineMigration) (map[int64]map[string]*commitSHAAndRuns, error) { +func loadLegacyMigrationRunGroups(x base.EngineMigration) (map[int64]map[string]*commitSHAAndRuns, error) { var runs []migrationActionRun if err := x.Table("action_run"). Where("id < ?", legacyURLIDThreshold). @@ -148,7 +148,7 @@ func loadLegacyMigrationRunGroups(x db.EngineMigration) (map[int64]map[string]*c } func migrateCommitStatusTargetURLForGroup( - x db.EngineMigration, + x base.EngineMigration, table string, repoID int64, sha string, @@ -209,7 +209,7 @@ func migrateCommitStatusTargetURLForGroup( return nil } -func getRepoLinkCached(x db.EngineMigration, cache map[int64]string, repoID int64) (string, error) { +func getRepoLinkCached(x base.EngineMigration, cache map[int64]string, repoID int64) (string, error) { if link, ok := cache[repoID]; ok { return link, nil } @@ -227,7 +227,7 @@ func getRepoLinkCached(x db.EngineMigration, cache map[int64]string, repoID int6 return link, nil } -func getJobIDByIndexCached(x db.EngineMigration, cache map[int64][]int64, runID, jobIndex int64) (int64, bool, error) { +func getJobIDByIndexCached(x base.EngineMigration, cache map[int64][]int64, runID, jobIndex int64) (int64, bool, error) { jobIDs, ok := cache[runID] if !ok { var jobs []migrationActionRunJob diff --git a/models/migrations/v1_26/v326_test.go b/modelmigration/v1_26/v326_test.go similarity index 95% rename from models/migrations/v1_26/v326_test.go rename to modelmigration/v1_26/v326_test.go index 09f3c3ab5c..6721954f1f 100644 --- a/models/migrations/v1_26/v326_test.go +++ b/modelmigration/v1_26/v326_test.go @@ -6,8 +6,8 @@ package v1_26 import ( "testing" - "gitea.dev/models/db" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/base" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/setting" "gitea.dev/modules/test" @@ -100,7 +100,7 @@ func Test_FixCommitStatusTargetURLToUseRunAndJobID(t *testing.T) { } } -func assertTargetURL(t *testing.T, x db.EngineMigration, table string, id int64, want string) { +func assertTargetURL(t *testing.T, x base.EngineMigration, table string, id int64, want string) { t.Helper() var row struct { diff --git a/models/migrations/v1_26/v327.go b/modelmigration/v1_26/v327.go similarity index 77% rename from models/migrations/v1_26/v327.go rename to modelmigration/v1_26/v327.go index 19c1eae725..a4ac3e9db2 100644 --- a/models/migrations/v1_26/v327.go +++ b/modelmigration/v1_26/v327.go @@ -4,12 +4,12 @@ package v1_26 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddDisabledToActionRunner(x db.EngineMigration) error { +func AddDisabledToActionRunner(x base.EngineMigration) error { type ActionRunner struct { IsDisabled bool `xorm:"is_disabled NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_26/v327_test.go b/modelmigration/v1_26/v327_test.go similarity index 94% rename from models/migrations/v1_26/v327_test.go rename to modelmigration/v1_26/v327_test.go index f93c2cbc20..db5ca09c8e 100644 --- a/models/migrations/v1_26/v327_test.go +++ b/modelmigration/v1_26/v327_test.go @@ -6,7 +6,7 @@ package v1_26 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/require" ) diff --git a/models/migrations/v1_26/v328.go b/modelmigration/v1_26/v328.go similarity index 75% rename from models/migrations/v1_26/v328.go rename to modelmigration/v1_26/v328.go index b7ca993049..c91bd5206e 100644 --- a/models/migrations/v1_26/v328.go +++ b/modelmigration/v1_26/v328.go @@ -4,12 +4,12 @@ package v1_26 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddTokenPermissionsToActionRunJob(x db.EngineMigration) error { +func AddTokenPermissionsToActionRunJob(x base.EngineMigration) error { type ActionRunJob struct { TokenPermissions string `xorm:"JSON TEXT"` } diff --git a/models/migrations/v1_26/v329.go b/modelmigration/v1_26/v329.go similarity index 94% rename from models/migrations/v1_26/v329.go rename to modelmigration/v1_26/v329.go index 15754e2866..dac732c9d4 100644 --- a/models/migrations/v1_26/v329.go +++ b/modelmigration/v1_26/v329.go @@ -6,7 +6,7 @@ package v1_26 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) @@ -28,7 +28,7 @@ func (n *UserBadge) TableIndices() []*schemas.Index { // AddUniqueIndexForUserBadge adds a compound unique indexes for user badge table // and it replaces an old index on user_id -func AddUniqueIndexForUserBadge(x db.EngineMigration) error { +func AddUniqueIndexForUserBadge(x base.EngineMigration) error { // remove possible duplicated records in table user_badge type result struct { UserID int64 diff --git a/models/migrations/v1_26/v329_test.go b/modelmigration/v1_26/v329_test.go similarity index 97% rename from models/migrations/v1_26/v329_test.go rename to modelmigration/v1_26/v329_test.go index 4b20273e7b..6f8d4417d3 100644 --- a/models/migrations/v1_26/v329_test.go +++ b/modelmigration/v1_26/v329_test.go @@ -6,7 +6,7 @@ package v1_26 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" ) diff --git a/models/migrations/v1_26/v330.go b/modelmigration/v1_26/v330.go similarity index 78% rename from models/migrations/v1_26/v330.go rename to modelmigration/v1_26/v330.go index 341da864bd..37087e88d8 100644 --- a/models/migrations/v1_26/v330.go +++ b/modelmigration/v1_26/v330.go @@ -4,12 +4,12 @@ package v1_26 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddNameToWebhook(x db.EngineMigration) error { +func AddNameToWebhook(x base.EngineMigration) error { type Webhook struct { Name string `xorm:"VARCHAR(255) NOT NULL DEFAULT ''"` } diff --git a/models/migrations/v1_27/main_test.go b/modelmigration/v1_27/main_test.go similarity index 80% rename from models/migrations/v1_27/main_test.go rename to modelmigration/v1_27/main_test.go index 949c88c23f..2c03bbaf28 100644 --- a/models/migrations/v1_27/main_test.go +++ b/modelmigration/v1_27/main_test.go @@ -6,7 +6,7 @@ package v1_27 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" ) func TestMain(m *testing.M) { diff --git a/models/migrations/v1_27/v331.go b/modelmigration/v1_27/v331.go similarity index 97% rename from models/migrations/v1_27/v331.go rename to modelmigration/v1_27/v331.go index 09d94929d0..eeba5f6460 100644 --- a/models/migrations/v1_27/v331.go +++ b/modelmigration/v1_27/v331.go @@ -7,8 +7,7 @@ import ( "context" "time" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" "xorm.io/xorm" @@ -91,7 +90,7 @@ func (actionRun) TableName() string { } // AddActionRunAttemptModel adds the ActionRunAttempt table and the supporting ActionRun/ActionRunJob fields. -func AddActionRunAttemptModel(x db.EngineMigration) error { +func AddActionRunAttemptModel(x base.EngineMigration) error { // add "action_run_attempt" if _, err := x.SyncWithOptions(xorm.SyncOptions{ IgnoreDropIndices: true, diff --git a/models/migrations/v1_27/v331_test.go b/modelmigration/v1_27/v331_test.go similarity index 99% rename from models/migrations/v1_27/v331_test.go rename to modelmigration/v1_27/v331_test.go index d86f9d943f..883cb7afb4 100644 --- a/models/migrations/v1_27/v331_test.go +++ b/modelmigration/v1_27/v331_test.go @@ -8,7 +8,7 @@ import ( "slices" "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" diff --git a/models/migrations/v1_27/v332.go b/modelmigration/v1_27/v332.go similarity index 81% rename from models/migrations/v1_27/v332.go rename to modelmigration/v1_27/v332.go index e0fc6a6c0f..2558b2cf20 100644 --- a/models/migrations/v1_27/v332.go +++ b/modelmigration/v1_27/v332.go @@ -4,7 +4,7 @@ package v1_27 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) @@ -17,7 +17,7 @@ func (mirrorWithLastSyncUnix) TableName() string { return "mirror" } -func AddLastSyncUnixToMirror(x db.EngineMigration) error { +func AddLastSyncUnixToMirror(x base.EngineMigration) error { _, err := x.SyncWithOptions(xorm.SyncOptions{ IgnoreDropIndices: true, }, new(mirrorWithLastSyncUnix)) diff --git a/models/migrations/v1_27/v333.go b/modelmigration/v1_27/v333.go similarity index 81% rename from models/migrations/v1_27/v333.go rename to modelmigration/v1_27/v333.go index e019313d1e..9680af5892 100644 --- a/models/migrations/v1_27/v333.go +++ b/modelmigration/v1_27/v333.go @@ -4,12 +4,12 @@ package v1_27 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddBranchProtectionBypassAllowlist(x db.EngineMigration) error { +func AddBranchProtectionBypassAllowlist(x base.EngineMigration) error { type ProtectedBranch struct { EnableBypassAllowlist bool `xorm:"NOT NULL DEFAULT false"` BypassAllowlistUserIDs []int64 `xorm:"JSON TEXT"` diff --git a/models/migrations/v1_27/v333_test.go b/modelmigration/v1_27/v333_test.go similarity index 97% rename from models/migrations/v1_27/v333_test.go rename to modelmigration/v1_27/v333_test.go index 901831fb1e..6a9ccc090f 100644 --- a/models/migrations/v1_27/v333_test.go +++ b/modelmigration/v1_27/v333_test.go @@ -6,7 +6,7 @@ package v1_27 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/require" ) diff --git a/models/migrations/v1_27/v334.go b/modelmigration/v1_27/v334.go similarity index 78% rename from models/migrations/v1_27/v334.go rename to modelmigration/v1_27/v334.go index a39a3ecf84..38cd9aeaa7 100644 --- a/models/migrations/v1_27/v334.go +++ b/modelmigration/v1_27/v334.go @@ -4,12 +4,12 @@ package v1_27 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) -func AddCancellingSupportToActionRunner(x db.EngineMigration) error { +func AddCancellingSupportToActionRunner(x base.EngineMigration) error { type ActionRunner struct { HasCancellingSupport bool `xorm:"has_cancelling_support NOT NULL DEFAULT false"` } diff --git a/models/migrations/v1_27/v334_test.go b/modelmigration/v1_27/v334_test.go similarity index 94% rename from models/migrations/v1_27/v334_test.go rename to modelmigration/v1_27/v334_test.go index 8bcb82e475..85fd911d29 100644 --- a/models/migrations/v1_27/v334_test.go +++ b/modelmigration/v1_27/v334_test.go @@ -6,7 +6,7 @@ package v1_27 import ( "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "github.com/stretchr/testify/require" ) diff --git a/models/migrations/v1_27/v335.go b/modelmigration/v1_27/v335.go similarity index 91% rename from models/migrations/v1_27/v335.go rename to modelmigration/v1_27/v335.go index c14488e343..e0e9a1ffb4 100644 --- a/models/migrations/v1_27/v335.go +++ b/modelmigration/v1_27/v335.go @@ -4,6 +4,7 @@ package v1_27 import ( + "gitea.dev/modelmigration/base" "gitea.dev/models/db" "xorm.io/xorm" @@ -11,7 +12,7 @@ import ( // AddReusableWorkflowFieldsToActionRunJob adds the ActionRunJob columns that describe the reusable workflow caller hierarchy, // and the ActionRunAttemptJobIDIndex table backing run-wide AttemptJobID allocation. -func AddReusableWorkflowFieldsToActionRunJob(x db.EngineMigration) error { +func AddReusableWorkflowFieldsToActionRunJob(x base.EngineMigration) error { type ActionRunJob struct { WorkflowSourceRepoID int64 `xorm:"NOT NULL DEFAULT 0"` WorkflowSourceCommitSHA string `xorm:"VARCHAR(64) NOT NULL DEFAULT ''"` diff --git a/models/migrations/v1_27/v336.go b/modelmigration/v1_27/v336.go similarity index 88% rename from models/migrations/v1_27/v336.go rename to modelmigration/v1_27/v336.go index 9c5e0c9494..7303f605a5 100644 --- a/models/migrations/v1_27/v336.go +++ b/modelmigration/v1_27/v336.go @@ -4,11 +4,11 @@ package v1_27 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddActionRunJobSummaryTable(x db.EngineMigration) error { +func AddActionRunJobSummaryTable(x base.EngineMigration) error { type ActionRunJobSummary struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_27/v337.go b/modelmigration/v1_27/v337.go similarity index 90% rename from models/migrations/v1_27/v337.go rename to modelmigration/v1_27/v337.go index 61fd2445cc..7c89337cb1 100644 --- a/models/migrations/v1_27/v337.go +++ b/modelmigration/v1_27/v337.go @@ -4,7 +4,7 @@ package v1_27 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) @@ -19,7 +19,7 @@ func (teamWithVisibility) TableName() string { return "team" } -func AddVisibilityToTeam(x db.EngineMigration) error { +func AddVisibilityToTeam(x base.EngineMigration) error { if _, err := x.SyncWithOptions(xorm.SyncOptions{ IgnoreDropIndices: true, IgnoreConstrains: true, diff --git a/models/migrations/v1_27/v338.go b/modelmigration/v1_27/v338.go similarity index 87% rename from models/migrations/v1_27/v338.go rename to modelmigration/v1_27/v338.go index a495907174..322d8b6e19 100644 --- a/models/migrations/v1_27/v338.go +++ b/modelmigration/v1_27/v338.go @@ -7,8 +7,7 @@ import ( "fmt" "strings" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) @@ -37,7 +36,7 @@ func isMSSQLMaxTextColumn(column *schemas.Column) bool { return strings.EqualFold(column.SQLType.Name, schemas.Varchar) || strings.EqualFold(column.SQLType.Name, schemas.NVarchar) } -func modifyLongTextColumnsForMSSQL(x db.EngineMigration, bean any, columnNames ...string) error { +func modifyLongTextColumnsForMSSQL(x base.EngineMigration, bean any, columnNames ...string) error { table, err := x.TableInfo(bean) if err != nil { return err @@ -61,7 +60,7 @@ func modifyLongTextColumnsForMSSQL(x db.EngineMigration, bean any, columnNames . // ExpandIssueAndCommentLongTextFieldsForMSSQL expands legacy MSSQL nvarchar(4000) // columns to nvarchar(max) so PR push comments and long issue content are not truncated. -func ExpandIssueAndCommentLongTextFieldsForMSSQL(x db.EngineMigration) error { +func ExpandIssueAndCommentLongTextFieldsForMSSQL(x base.EngineMigration) error { if x.Dialect().URI().DBType != schemas.MSSQL { return nil } diff --git a/models/migrations/v1_27/v338_test.go b/modelmigration/v1_27/v338_test.go similarity index 96% rename from models/migrations/v1_27/v338_test.go rename to modelmigration/v1_27/v338_test.go index 4e47253779..c0370ef657 100644 --- a/models/migrations/v1_27/v338_test.go +++ b/modelmigration/v1_27/v338_test.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/setting" "github.com/stretchr/testify/require" diff --git a/models/migrations/v1_27/v339.go b/modelmigration/v1_27/v339.go similarity index 91% rename from models/migrations/v1_27/v339.go rename to modelmigration/v1_27/v339.go index 5499cfbc22..9da1cf0f53 100644 --- a/models/migrations/v1_27/v339.go +++ b/modelmigration/v1_27/v339.go @@ -6,7 +6,7 @@ package v1_27 import ( "context" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) @@ -14,7 +14,7 @@ import ( // AddCreatedUnixToActionUserIsDeletedIndex extends the c_u composite index on // the action table to include created_unix, enabling efficient ORDER BY on the // dashboard feed query without a full sort of all matching rows. -func AddCreatedUnixToActionUserIsDeletedIndex(x db.EngineMigration) error { +func AddCreatedUnixToActionUserIsDeletedIndex(x base.EngineMigration) error { // xorm Sync cannot reliably update an index when another index already // covers the same columns in a different order (Equal() is order-insensitive). // Drop the old c_u index explicitly, then recreate it with the new column set. diff --git a/models/migrations/v1_27/v339_test.go b/modelmigration/v1_27/v339_test.go similarity index 98% rename from models/migrations/v1_27/v339_test.go rename to modelmigration/v1_27/v339_test.go index b41d3d6476..ab20553ab3 100644 --- a/models/migrations/v1_27/v339_test.go +++ b/modelmigration/v1_27/v339_test.go @@ -7,7 +7,7 @@ import ( "context" "testing" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/timeutil" "github.com/stretchr/testify/assert" diff --git a/models/migrations/v1_27/v340.go b/modelmigration/v1_27/v340.go similarity index 83% rename from models/migrations/v1_27/v340.go rename to modelmigration/v1_27/v340.go index dcb942dfb4..95ef5961b8 100644 --- a/models/migrations/v1_27/v340.go +++ b/modelmigration/v1_27/v340.go @@ -4,14 +4,14 @@ package v1_27 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm" ) // AddContinueOnErrorToActionRunJob adds the ContinueOnError column to ActionRunJob, // storing the job-level continue-on-error value from the workflow YAML. -func AddContinueOnErrorToActionRunJob(x db.EngineMigration) error { +func AddContinueOnErrorToActionRunJob(x base.EngineMigration) error { type ActionRunJob struct { ContinueOnError bool `xorm:"NOT NULL DEFAULT FALSE"` } diff --git a/models/migrations/v1_27/v341.go b/modelmigration/v1_27/v341.go similarity index 94% rename from models/migrations/v1_27/v341.go rename to modelmigration/v1_27/v341.go index 8630cb97fa..0451e4dafb 100644 --- a/models/migrations/v1_27/v341.go +++ b/modelmigration/v1_27/v341.go @@ -8,8 +8,7 @@ import ( "strings" "time" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) @@ -47,7 +46,7 @@ func (lfsLockWithCreated) TableName() string { // when the MSSQL session language is not English, breaking external account // linking and LFS lock creation. New installs already use DATETIME2, so only // legacy MSSQL columns need converting. -func FixLegacyMSSQLDateTimeColumns(x db.EngineMigration) error { +func FixLegacyMSSQLDateTimeColumns(x base.EngineMigration) error { if x.Dialect().URI().DBType != schemas.MSSQL { return nil } diff --git a/models/migrations/v1_27/v341_test.go b/modelmigration/v1_27/v341_test.go similarity index 94% rename from models/migrations/v1_27/v341_test.go rename to modelmigration/v1_27/v341_test.go index b0fe6d24df..bd5d4bc8a0 100644 --- a/models/migrations/v1_27/v341_test.go +++ b/modelmigration/v1_27/v341_test.go @@ -7,8 +7,8 @@ import ( "testing" "time" - "gitea.dev/models/db" - "gitea.dev/models/migrations/migrationtest" + "gitea.dev/modelmigration/base" + "gitea.dev/modelmigration/migrationtest" "gitea.dev/modules/setting" "github.com/stretchr/testify/require" @@ -70,7 +70,7 @@ func Test_FixLegacyMSSQLDateTimeColumns(t *testing.T) { require.NoError(t, err) } -func mssqlColumnType(t *testing.T, x db.EngineMigration, table, column string) string { +func mssqlColumnType(t *testing.T, x base.EngineMigration, table, column string) string { t.Helper() var dataType string has, err := x.SQL("SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ? AND COLUMN_NAME = ?", table, column).Get(&dataType) diff --git a/models/migrations/v1_27/v342.go b/modelmigration/v1_27/v342.go similarity index 93% rename from models/migrations/v1_27/v342.go rename to modelmigration/v1_27/v342.go index 7f57f552f6..c5cc9a34d6 100644 --- a/models/migrations/v1_27/v342.go +++ b/modelmigration/v1_27/v342.go @@ -4,13 +4,13 @@ package v1_27 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" "xorm.io/xorm" ) -func AddScopedWorkflowsSchema(x db.EngineMigration) error { +func AddScopedWorkflowsSchema(x base.EngineMigration) error { // Create the action_scoped_workflow_source table type ScopedWorkflowConfig struct { Required bool `json:"required"` diff --git a/models/migrations/v1_6/v70.go b/modelmigration/v1_6/v70.go similarity index 96% rename from models/migrations/v1_6/v70.go rename to modelmigration/v1_6/v70.go index 947d27d3dd..e211711714 100644 --- a/models/migrations/v1_6/v70.go +++ b/modelmigration/v1_6/v70.go @@ -7,11 +7,11 @@ import ( "fmt" "time" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func AddIssueDependencies(x db.EngineMigration) (err error) { +func AddIssueDependencies(x base.EngineMigration) (err error) { type IssueDependency struct { ID int64 `xorm:"pk autoincr"` UserID int64 `xorm:"NOT NULL"` diff --git a/models/migrations/v1_6/v71.go b/modelmigration/v1_6/v71.go similarity index 94% rename from models/migrations/v1_6/v71.go rename to modelmigration/v1_6/v71.go index ba2fbb6f17..8235e962a2 100644 --- a/models/migrations/v1_6/v71.go +++ b/modelmigration/v1_6/v71.go @@ -6,13 +6,12 @@ package v1_6 import ( "fmt" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" "gitea.dev/modules/util" ) -func AddScratchHash(x db.EngineMigration) error { +func AddScratchHash(x base.EngineMigration) error { // TwoFactor see models/twofactor.go type TwoFactor struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_6/v72.go b/modelmigration/v1_6/v72.go similarity index 87% rename from models/migrations/v1_6/v72.go rename to modelmigration/v1_6/v72.go index 5aa74402f5..d1bee6174c 100644 --- a/models/migrations/v1_6/v72.go +++ b/modelmigration/v1_6/v72.go @@ -6,11 +6,11 @@ package v1_6 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddReview(x db.EngineMigration) error { +func AddReview(x base.EngineMigration) error { // Review see models/review.go type Review struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_7/v73.go b/modelmigration/v1_7/v73.go similarity index 74% rename from models/migrations/v1_7/v73.go rename to modelmigration/v1_7/v73.go index 6f068cc9d9..d98b3982bd 100644 --- a/models/migrations/v1_7/v73.go +++ b/modelmigration/v1_7/v73.go @@ -3,9 +3,9 @@ package v1_7 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddMustChangePassword(x db.EngineMigration) error { +func AddMustChangePassword(x base.EngineMigration) error { // User see models/user.go type User struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_7/v74.go b/modelmigration/v1_7/v74.go similarity index 75% rename from models/migrations/v1_7/v74.go rename to modelmigration/v1_7/v74.go index 774602317e..2993dda3a5 100644 --- a/models/migrations/v1_7/v74.go +++ b/modelmigration/v1_7/v74.go @@ -3,9 +3,9 @@ package v1_7 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddApprovalWhitelistsToProtectedBranches(x db.EngineMigration) error { +func AddApprovalWhitelistsToProtectedBranches(x base.EngineMigration) error { type ProtectedBranch struct { ApprovalsWhitelistUserIDs []int64 `xorm:"JSON TEXT"` ApprovalsWhitelistTeamIDs []int64 `xorm:"JSON TEXT"` diff --git a/models/migrations/v1_7/v75.go b/modelmigration/v1_7/v75.go similarity index 89% rename from models/migrations/v1_7/v75.go rename to modelmigration/v1_7/v75.go index 2da93264c3..8ffaaf1943 100644 --- a/models/migrations/v1_7/v75.go +++ b/modelmigration/v1_7/v75.go @@ -4,12 +4,12 @@ package v1_7 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/builder" ) -func ClearNonusedData(x db.EngineMigration) error { +func ClearNonusedData(x base.EngineMigration) error { condDelete := func(colName string) builder.Cond { return builder.NotIn(colName, builder.Select("id").From("`user`")) } diff --git a/models/migrations/v1_8/v76.go b/modelmigration/v1_8/v76.go similarity index 95% rename from models/migrations/v1_8/v76.go rename to modelmigration/v1_8/v76.go index d2afd23ffe..b40fb9b2d0 100644 --- a/models/migrations/v1_8/v76.go +++ b/modelmigration/v1_8/v76.go @@ -6,11 +6,11 @@ package v1_8 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddPullRequestRebaseWithMerge(x db.EngineMigration) error { +func AddPullRequestRebaseWithMerge(x base.EngineMigration) error { // RepoUnit describes all units of a repository type RepoUnit struct { ID int64 diff --git a/models/migrations/v1_8/v77.go b/modelmigration/v1_8/v77.go similarity index 69% rename from models/migrations/v1_8/v77.go rename to modelmigration/v1_8/v77.go index 8f91891cfe..a7b456d95c 100644 --- a/models/migrations/v1_8/v77.go +++ b/modelmigration/v1_8/v77.go @@ -3,9 +3,9 @@ package v1_8 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddUserDefaultTheme(x db.EngineMigration) error { +func AddUserDefaultTheme(x base.EngineMigration) error { type User struct { Theme string `xorm:"VARCHAR(30) NOT NULL DEFAULT ''"` } diff --git a/models/migrations/v1_8/v78.go b/modelmigration/v1_8/v78.go similarity index 85% rename from models/migrations/v1_8/v78.go rename to modelmigration/v1_8/v78.go index b41bbbed7e..beb51c345a 100644 --- a/models/migrations/v1_8/v78.go +++ b/modelmigration/v1_8/v78.go @@ -4,11 +4,10 @@ package v1_8 import ( - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" ) -func RenameRepoIsBareToIsEmpty(x db.EngineMigration) error { +func RenameRepoIsBareToIsEmpty(x base.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` IsBare bool diff --git a/models/migrations/v1_8/v79.go b/modelmigration/v1_8/v79.go similarity index 83% rename from models/migrations/v1_8/v79.go rename to modelmigration/v1_8/v79.go index b29f973c87..c08711ae8b 100644 --- a/models/migrations/v1_8/v79.go +++ b/modelmigration/v1_8/v79.go @@ -4,11 +4,11 @@ package v1_8 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/setting" ) -func AddCanCloseIssuesViaCommitInAnyBranch(x db.EngineMigration) error { +func AddCanCloseIssuesViaCommitInAnyBranch(x base.EngineMigration) error { type Repository struct { ID int64 `xorm:"pk autoincr"` CloseIssuesViaCommitInAnyBranch bool `xorm:"NOT NULL DEFAULT false"` diff --git a/models/migrations/v1_8/v80.go b/modelmigration/v1_8/v80.go similarity index 74% rename from models/migrations/v1_8/v80.go rename to modelmigration/v1_8/v80.go index 7e8855cb22..7b38382691 100644 --- a/models/migrations/v1_8/v80.go +++ b/modelmigration/v1_8/v80.go @@ -3,9 +3,9 @@ package v1_8 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddIsLockedToIssues(x db.EngineMigration) error { +func AddIsLockedToIssues(x base.EngineMigration) error { // Issue see models/issue.go type Issue struct { ID int64 `xorm:"pk autoincr"` diff --git a/models/migrations/v1_8/v81.go b/modelmigration/v1_8/v81.go similarity index 87% rename from models/migrations/v1_8/v81.go rename to modelmigration/v1_8/v81.go index 406ea973bc..50ef79f0bc 100644 --- a/models/migrations/v1_8/v81.go +++ b/modelmigration/v1_8/v81.go @@ -6,12 +6,12 @@ package v1_8 import ( "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "xorm.io/xorm/schemas" ) -func ChangeU2FCounterType(x db.EngineMigration) error { +func ChangeU2FCounterType(x base.EngineMigration) error { var err error switch x.Dialect().URI().DBType { diff --git a/models/migrations/v1_9/v82.go b/modelmigration/v1_9/v82.go similarity index 95% rename from models/migrations/v1_9/v82.go rename to modelmigration/v1_9/v82.go index afcdc5c443..59a75b7ca5 100644 --- a/models/migrations/v1_9/v82.go +++ b/modelmigration/v1_9/v82.go @@ -7,13 +7,13 @@ import ( "context" "fmt" - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" repo_model "gitea.dev/models/repo" "gitea.dev/modules/git" "gitea.dev/modules/gitrepo" ) -func FixReleaseSha1OnReleaseTable(ctx context.Context, x db.EngineMigration) error { +func FixReleaseSha1OnReleaseTable(ctx context.Context, x base.EngineMigration) error { type Release struct { ID int64 RepoID int64 diff --git a/models/migrations/v1_9/v83.go b/modelmigration/v1_9/v83.go similarity index 86% rename from models/migrations/v1_9/v83.go rename to modelmigration/v1_9/v83.go index 84da3f5a5c..e49bd99e27 100644 --- a/models/migrations/v1_9/v83.go +++ b/modelmigration/v1_9/v83.go @@ -4,11 +4,11 @@ package v1_9 import ( - "gitea.dev/models/db" + "gitea.dev/modelmigration/base" "gitea.dev/modules/timeutil" ) -func AddUploaderIDForAttachment(x db.EngineMigration) error { +func AddUploaderIDForAttachment(x base.EngineMigration) error { type Attachment struct { ID int64 `xorm:"pk autoincr"` UUID string `xorm:"uuid UNIQUE"` diff --git a/models/migrations/v1_9/v84.go b/modelmigration/v1_9/v84.go similarity index 73% rename from models/migrations/v1_9/v84.go rename to modelmigration/v1_9/v84.go index 9e7347b3a3..20cb78ef26 100644 --- a/models/migrations/v1_9/v84.go +++ b/modelmigration/v1_9/v84.go @@ -3,9 +3,9 @@ package v1_9 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddGPGKeyImport(x db.EngineMigration) error { +func AddGPGKeyImport(x base.EngineMigration) error { type GPGKeyImport struct { KeyID string `xorm:"pk CHAR(16) NOT NULL"` Content string `xorm:"TEXT NOT NULL"` diff --git a/models/migrations/v1_9/v85.go b/modelmigration/v1_9/v85.go similarity index 94% rename from models/migrations/v1_9/v85.go rename to modelmigration/v1_9/v85.go index 6d7c05cb0d..f54014c903 100644 --- a/models/migrations/v1_9/v85.go +++ b/modelmigration/v1_9/v85.go @@ -6,14 +6,13 @@ package v1_9 import ( "fmt" - "gitea.dev/models/db" - "gitea.dev/models/migrations/base" + "gitea.dev/modelmigration/base" "gitea.dev/modules/log" "gitea.dev/modules/timeutil" "gitea.dev/modules/util" ) -func HashAppToken(x db.EngineMigration) error { +func HashAppToken(x base.EngineMigration) error { // AccessToken see models/token.go type AccessToken struct { ID int64 `xorm:"pk autoincr"` @@ -97,7 +96,7 @@ func HashAppToken(x db.EngineMigration) error { return resyncHashAppTokenWithUniqueHash(x) } -func resyncHashAppTokenWithUniqueHash(x db.EngineMigration) error { +func resyncHashAppTokenWithUniqueHash(x base.EngineMigration) error { // AccessToken see models/token.go type AccessToken struct { TokenHash string `xorm:"UNIQUE"` // sha256 of token - we will ensure UNIQUE later diff --git a/models/migrations/v1_9/v86.go b/modelmigration/v1_9/v86.go similarity index 68% rename from models/migrations/v1_9/v86.go rename to modelmigration/v1_9/v86.go index 08bf2795e0..20d1ed72a5 100644 --- a/models/migrations/v1_9/v86.go +++ b/modelmigration/v1_9/v86.go @@ -3,9 +3,9 @@ package v1_9 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddHTTPMethodToWebhook(x db.EngineMigration) error { +func AddHTTPMethodToWebhook(x base.EngineMigration) error { type Webhook struct { HTTPMethod string `xorm:"http_method DEFAULT 'POST'"` } diff --git a/models/migrations/v1_9/v87.go b/modelmigration/v1_9/v87.go similarity index 71% rename from models/migrations/v1_9/v87.go rename to modelmigration/v1_9/v87.go index 478d549641..54f87bb629 100644 --- a/models/migrations/v1_9/v87.go +++ b/modelmigration/v1_9/v87.go @@ -3,9 +3,9 @@ package v1_9 -import "gitea.dev/models/db" +import "gitea.dev/modelmigration/base" -func AddAvatarFieldToRepository(x db.EngineMigration) error { +func AddAvatarFieldToRepository(x base.EngineMigration) error { type Repository struct { // ID(10-20)-md5(32) - must fit into 64 symbols Avatar string `xorm:"VARCHAR(64)"` diff --git a/routers/common/db.go b/routers/common/db.go index 30ab0fcd71..f187ee23a0 100644 --- a/routers/common/db.go +++ b/routers/common/db.go @@ -8,8 +8,8 @@ import ( "errors" "time" + "gitea.dev/modelmigration" "gitea.dev/models/db" - "gitea.dev/models/migrations" system_model "gitea.dev/models/system" "gitea.dev/modules/log" "gitea.dev/modules/setting" @@ -45,12 +45,12 @@ func migrateWithSetting(ctx context.Context, x db.EngineMigration) error { return versioned_migration.Migrate(ctx, x) } - if current, err := migrations.GetCurrentDBVersion(x); err != nil { + if current, err := modelmigration.GetCurrentDBVersion(x); err != nil { return err } else if current < 0 { // execute migrations when the database isn't initialized even if AutoMigration is false return versioned_migration.Migrate(ctx, x) - } else if expected := migrations.ExpectedDBVersion(); current != expected { + } else if expected := modelmigration.ExpectedDBVersion(); current != expected { log.Fatal(`"database.AUTO_MIGRATION" is disabled, but current database version %d is not equal to the expected version %d.`+ `You can set "database.AUTO_MIGRATION" to true or migrate manually by running "gitea [--config /path/to/app.ini] migrate"`, current, expected) } diff --git a/services/doctor/dbconsistency.go b/services/doctor/dbconsistency.go index e5ff92a08f..8c218e2bf6 100644 --- a/services/doctor/dbconsistency.go +++ b/services/doctor/dbconsistency.go @@ -6,11 +6,11 @@ package doctor import ( "context" + modelmigration "gitea.dev/modelmigration" actions_model "gitea.dev/models/actions" activities_model "gitea.dev/models/activities" "gitea.dev/models/db" issues_model "gitea.dev/models/issues" - "gitea.dev/models/migrations" repo_model "gitea.dev/models/repo" secret_model "gitea.dev/models/secret" "gitea.dev/modules/log" @@ -249,7 +249,7 @@ func prepareDBConsistencyChecks() []consistencyCheck { func checkDBConsistency(ctx context.Context, logger log.Logger, autofix bool) error { // make sure DB version is uptodate - if err := db.InitEngineWithMigration(ctx, migrations.EnsureUpToDate); err != nil { + if err := db.InitEngineWithMigration(ctx, modelmigration.EnsureUpToDate); err != nil { logger.Critical("Model version on the database does not match the current Gitea version. Model consistency will not be checked until the database is upgraded") return err } diff --git a/services/versioned_migration/migration.go b/services/versioned_migration/migration.go index cf92b9b66f..bfa7c74610 100644 --- a/services/versioned_migration/migration.go +++ b/services/versioned_migration/migration.go @@ -6,8 +6,8 @@ package versioned_migration import ( "context" + "gitea.dev/modelmigration" "gitea.dev/models/db" - "gitea.dev/models/migrations" "gitea.dev/modules/globallock" ) @@ -19,5 +19,5 @@ func Migrate(ctx context.Context, x db.EngineMigration) error { } defer release() - return migrations.Migrate(ctx, x) + return modelmigration.Migrate(ctx, x) } diff --git a/tests/integration/migration-test/migration_test.go b/tests/integration/migration-test/migration_test.go index 23567ba348..cc943bfffe 100644 --- a/tests/integration/migration-test/migration_test.go +++ b/tests/integration/migration-test/migration_test.go @@ -17,9 +17,9 @@ import ( "strings" "testing" + "gitea.dev/modelmigration" + migrate_base "gitea.dev/modelmigration/base" "gitea.dev/models/db" - "gitea.dev/models/migrations" - migrate_base "gitea.dev/models/migrations/base" "gitea.dev/models/unittest" "gitea.dev/modules/git" "gitea.dev/modules/log" @@ -149,7 +149,7 @@ func restoreOldDB(t *testing.T, version string) { func wrappedMigrate(ctx context.Context, x db.EngineMigration) error { currentEngine = x - return migrations.Migrate(ctx, x) + return modelmigration.Migrate(ctx, x) } func doMigrationTest(t *testing.T, version string) {