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 6e3c5bdc83b..c7fdf457766 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 519b74f7a81..38b7a9ae280 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 ad21a80dcfc..786602ccd92 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 8941be0ca0e..40edaca566d 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 17e2ef7ae03..43558571f28 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 e0858a716f9..88a0380204a 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 5342c1d9716..9bef45da09a 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 6e74ed2317b..ea719c18be0 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 569fd2109ff..b3dfd9848be 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 3f04e6620fd..eb5a212a76c 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 f77ce032014..d82b474d96f 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 bc94d7b1e60..2828bc4662d 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 bafdea24cf7..4e3c0899ff1 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 9a2bf5fe092..1832ac7b412 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 06415af073b..15210a28d9b 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 dc086488edb..7fce41f884d 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 336c637f189..39f192312ec 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 b00607f5965..c799421eeb3 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 e78b39b7ec5..b7b21829c80 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 15ed28ad20a..1dd41d3d64f 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 08dc4b4118c..1beaf85fd44 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 ace5f4eec29..bc806ef5052 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 4638cb175a0..5730b5158ff 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 8fc0c8b71cc..512c841f4be 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 554869af3e4..f68fa76cd66 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 9f4d1eb8460..cd707373ca8 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 36802c6cb66..b3968359870 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 e5263f6b942..1b004460c96 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 1bb4fb4dffe..ce0601bf5a5 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 e907c212082..74d8cfb6ea6 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 49544148f80..182bb0cb73f 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 8e5848cb902..951e9c596b6 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 83efb242537..92aee188007 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 a8b1e50b11f..fb22d23bc31 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 63f4e521ef9..26e50c493cb 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 ccd5bb0fc1e..7a24a3bb357 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 7f3cf4fc929..25f911a6dfc 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 1acc7e6dfac..14906d51cce 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 0cdf0a9dfec..cd091110daa 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 34025428566..51e39a86702 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 d63c9c09ec7..ae777d2c37f 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 9397d2a02c7..78399063fb1 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 d15c55cac36..92582274d5b 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 878b0e8b245..d3129466705 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 b4ed7c42a40..968faa444da 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 7f0088346f5..7f96b4e6583 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 fc436259b9b..965ef176014 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 c2d114d9251..06f3d0a7aca 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 159d0c2e0d7..6d82f73c696 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 928d13f3a11..455bdfa29e5 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 c83c068b6b0..8c031eca487 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 f74dac9985d..1427993f793 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 2a2438bacc6..455cd3c5d03 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 b2486ea3c6f..6760d6f858f 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 5867530090c..15d85324ad9 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 290cb0af052..343bac4985b 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 35831d0cc6c..9a78926aded 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 2248251b57e..b788d72a579 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 6eb6cdc5041..435a4c64e88 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 017fb547d39..dc70923a228 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 00664ca2ff1..ed84ec01b99 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 76b882d7a2a..069bcc6a52d 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 c8ef8dbd430..0dc5af986e3 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 fa418abc709..c59d1f78795 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 6c57fdef0b9..9e21ab5e0a8 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 8c8e5d795a0..55efa6b637a 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 e6d56ffa5ed..435dc4bf386 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 189504772ff..e98f4075e92 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 283611e764e..2c299f7b5a2 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 0e51ab9cb91..f41c6199a80 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 b46b269650f..6a99fb017a0 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 dc0cb1a4e19..ce37105c1f5 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 314b4578b60..beb19cf62ee 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 c1c27a49d43..2244302b18e 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 09f1e818516..ccef7814e5e 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 a1e8236f7d1..1b223070576 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 995d4b32fa9..becbcb9af14 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 42055d0e78f..a14a81ab1f2 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 c04d1b64a3e..e0609fec817 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 1954a04692e..ee70f0d85cc 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 31aacc52111..98cf00c9d09 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 f605c18d57b..cd5d30991da 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 429269d991a..f9be57ffe3f 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 b6058a03039..55ae2293190 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 62f8036b355..56d1e6a7db6 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 1dd2e1c639f..363ccbfb7db 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 b216929387c..5bdd552bacd 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 78ef19c34d3..85c0ed5b44b 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 02bc48938ed..eb2ebe9dce1 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 08819d2dc56..d69b5051db1 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 58325ca4044..ffc0b44b684 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 d5fa4d008d8..dc6577ea636 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 ca03363d558..7486e999be6 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 ac1e6c04985..38288a5d27e 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 f8eda53fd87..8b7d02335eb 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 3bb542516b5..4852c873169 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 1626316a20c..c43dc48e38d 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 4e6577592aa..023af757b59 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 d912ba3b78d..bea2931ecb4 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 51278211b5e..6516436c91b 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 4e88e892c9b..da3635ad82b 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 556996e9726..a52d13a11a6 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 a464ed56ec6..ae1d24c4d27 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 7a830d8d512..efd0b97e9c4 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 7230693909b..b85d266f09a 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 4b80dc7d6aa..49f00ca2923 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 87b10d3b76d..838603bb7bd 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 35bbf74f419..ef17fc699ed 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 4380bc560aa..8597736ccb6 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 b5247b1a333..42e81299a95 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 841a8a85e56..3545e576f47 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 4e004abcb0c..bc385bb78a9 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 2fc8f06225e..8b0f7740d92 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 049f9a17850..2aa58f286f6 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 dee388a961b..ae003c08b98 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 21ae3395222..00d9375a660 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 1a6d84afff1..51670731f02 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 44e096fecb9..ea378ab61a3 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 e8c388554b5..de58978f99d 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 d3f9de33618..e33d55df41f 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 aac2609f0e0..a8ec80953f8 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 419135c8818..e88abf69404 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 382b4972080..549509e8b13 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 8dcb09b657e..1d6d479b18f 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 fc0ab2e08c9..f5637521676 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 1daf229b27e..9071566ca4d 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 b015f61e3a1..5d18c85729b 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 a8359acb8ef..38ce2632056 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 baf19df95fd..22a175ea767 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 515e30eb8a5..e6d0890a892 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 4b4ffb5cb32..b1202d94a4a 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 8eb13cd024c..a3fdf3820fe 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 5f89635a0a5..eaa9c9e51dd 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 0cabb239885..f5682674298 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 b6f65fc5c06..efb99840ac8 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 f5e1422413d..fc385c96bbf 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 0f1647054b0..74775054451 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 b91c4da6567..d73df2043c6 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 3a882fd56f0..2aaaca4b566 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 18dda1875fb..0607c5f91bd 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 b612fa106d7..947d40eda6f 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 da89c7b8bbd..40e9dadd232 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 1f4752b34a2..edbeae99cb8 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 bfa0a63d354..ea98f5b688e 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 4eb6a4dacc7..924df3827ce 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 ed90e62f5a2..6a7b32c8c17 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 4e5e83d8a8d..bb9306c3116 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 144e52c1d07..1fcf97503eb 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 8fd4036106e..3fd849f921e 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 eddb7f538da..2859aec2927 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 68194fca9bd..2ab1fe4cea1 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 857d37f7d13..9b09a207d20 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 fd9ec96d252..a3580676764 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 17c10915178..04e01b2bad5 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 0605fd14fae..fa6c3a4bcbc 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 2157bf24d3f..e2cee4a6bfc 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 a5d2dc91665..775eb081a42 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 2c217cf02e4..f6c8e37590f 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 97b36af5caa..b223b74ee0a 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 a97a49566d8..c4e6d07aa41 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 720784d6800..c85972c82f7 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 7e796e40a72..37f8551a193 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 3a0268e97d0..af800a65b07 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 cd9e826bd05..edce2af067b 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 058f6331175..8f1f6bcbdac 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 558411ef473..5becd95dc33 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 be9bda66ec0..a3081d736e1 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 f1f3482bba9..ec3306cbd15 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 670b3227df7..00696bf4681 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 e711a6cd595..3c0d9f746a6 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 383ffb93882..9d5d63cbdc6 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 d8fa52a1a7c..25c1ddcaaaf 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 4e4a8ae6f00..58c72b9bc2b 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 6098e7882eb..9603266dd4c 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 add19443059..3161e9c4d0c 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 325d2c70fee..23fc66d5882 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 5a49b3f31f1..80464f27636 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 9547a949237..5de0a684c6a 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 f5ec09ff907..89508cc69ff 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 5b2173e6a50..0fc41c8595e 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 826150a7237..cb1944548c5 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 b23553cc4ec..34bab4bb513 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 3237dc11de9..f70eb593fe5 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 4015d0e1740..17eccd8f39e 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 547b591596f..ab878d57f95 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 17437be0f91..961e00f1fdb 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 722677f019f..4820d400b1b 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 52c6fa04860..541623084b3 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 8232d21f938..329a51ee381 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 46daa73203b..c4cc2253d94 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 7dd7f464704..f3032c4ffe8 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 7db38b73e9a..015c8a7e7a0 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 07662c86b22..6b1b5a0872a 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 609417d1054..52e3ea24e76 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 2ee06ea2d2c..6ca556eb936 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 99480ce67a0..9d1746b4566 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 50fcf267af8..50b3bd026e6 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 7e3305ac053..4f2dca00983 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 28130f89056..0129b665ac2 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 96169c94d26..52d1f7f5afc 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 a8773d06384..37cc4e45a6e 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 d6200a69502..ae60a9357e3 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 7c596579e50..3a897d3b3ef 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 058e7af59f3..7740826921e 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 320c38fde0a..6795b2f7ba9 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 5f98e8b427f..59b139ffb51 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 ab057842087..83c156f137d 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 18af1caed4e..85d3806c0f2 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 0353f474d46..0cc50be0778 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 cd991b535d2..4e772e75060 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 d7ab34e57e6..a539498b7b8 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 b6a93cf1815..4a9f150e329 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 e9f697645f7..63fc601281c 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 8ea5b3fd41f..635663caa79 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 5e1482b3209..56b876bd65a 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 e24f484332c..418d1ba2144 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 60335e8b46b..b4cc3490d85 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 74c3c8f9eba..b024e713c61 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 4644154c637..6fa76f85080 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 7d999495b67..dc8026af7af 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 516cb9628a1..9bf4b939b4f 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 74bc4c86dbe..8dd84db9f2d 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 1fd5ec7aa0c..3250ee340dd 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 8cfa6bb090a..ab0ca19e52e 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 f7f9442f21a..6a28e3a08ce 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 5dbab169178..918d7d56520 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 295d6b4aa9f..e75795ba71d 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 fca5e1d5c24..cf691325673 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 4aca890a859..31818ae1500 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 9705c3ee2fb..40afe14593b 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 55a1646973c..27d38a0cee7 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 6cd24a21481..e3b08eaeb75 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 3f49400c2b4..6e6058890f7 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 1874cbe884e..53956803b74 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 7b3de53b779..e85b4dbbe51 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 7ac86d5d0f8..28d4c290151 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 cb133631c39..a9913180df5 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 e32e5b2a7f9..72fce2be67e 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 55d1c192a74..1370315a7fd 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 316fc1675ff..bb28dd62c34 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 8c082cea3bc..3a119988c43 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 c19d0a4aa50..bac5e4ea33a 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 2c8f1744933..11ee21ddf8c 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 6a21b0adc50..91e14aa2188 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 7595460281b..cde1cc46311 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 79134dea011..e955a595049 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 9912434e44c..af42b5c67c3 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 d334ff4142a..30477ad529d 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 03a2a2d048e..1a77658b70a 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 cb6fd97c924..2f4454eb451 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 06c6c161b62..2c78f673648 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 03f6f2012a5..245a0f57498 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 c347a0a0687..78fd630e4c7 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 c0af662fc98..a6a90333053 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 c11e23b2f33..a73e852f358 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 2920c712a82..fa6e7cb1e83 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 2cd550d395b..1672e466268 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 9832fd17b61..823d04e599f 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 7da7b548f3b..843f578f612 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 f87257b21e5..94e6346d8ff 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 8a511aae77e..1dfd225c191 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 432ae62e3c6..40a1650a992 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 845eaf19bad..b2d51cd93d7 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 8b9c0e78a35..4c2bfd9a075 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 c3f0c5635d1..8b35b2e25fe 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 69bfda106e8..3584e3af349 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 502dce9c2a8..7202e659c3f 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 168b9efb320..0130cfcd3ec 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 9539ee8a998..f09984f0b2b 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 622f9e03ddb..2b359b6ce0a 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 cad0ca397d1..d9d9b429e15 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 a26ac0ce710..bd9bf2725cd 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 7ff7a78033e..742f580e866 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 a4fbc0e6ab8..6828174ddb1 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 dfea8f0d44b..dceb08c2baf 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 a20b4c916dd..18aaef90760 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 16eabace322..66110c297d6 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 2e5f9a87d9b..fd1f7b22333 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 9befeee38f5..799475c7d05 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 f2a701cb8fb..fe244878e99 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 cca28e1241c..9f086f96f0b 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 e7bac3e02d5..f4dc8a537df 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 b18b9544692..882b9e2c466 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 b2c28f06d9a..b93e74002ef 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 09f3c3ab5c7..6721954f1f6 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 19c1eae725f..a4ac3e9db2a 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 f93c2cbc20f..db5ca09c8e0 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 b7ca9930496..c91bd5206ed 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 15754e28665..dac732c9d4c 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 4b20273e7b5..6f8d4417d37 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 341da864bd6..37087e88d81 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 949c88c23fb..2c03bbaf284 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 09d94929d0d..eeba5f64606 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 d86f9d943ff..883cb7afb4d 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 e0fc6a6c0f6..2558b2cf207 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 e019313d1e7..9680af58927 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 901831fb1ec..6a9ccc090f3 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 a39a3ecf844..38cd9aeaa73 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 8bcb82e4751..85fd911d29b 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 c14488e343e..e0e9a1ffb47 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 9c5e0c9494a..7303f605a5e 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 61fd2445ccf..7c89337cb1a 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 a4959071745..322d8b6e19e 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 4e47253779e..c0370ef6577 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 5499cfbc222..9da1cf0f53a 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 b41d3d64764..ab20553ab30 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 dcb942dfb4f..95ef5961b86 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 8630cb97fa1..0451e4dafbd 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 b0fe6d24df7..bd5d4bc8a09 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 7f57f552f62..c5cc9a34d68 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 947d27d3dd9..e211711714f 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 ba2fbb6f179..8235e962a2f 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 5aa74402f54..d1bee6174cb 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 6f068cc9d9c..d98b3982bd1 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 774602317e2..2993dda3a50 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 2da93264c30..8ffaaf19432 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 d2afd23ffe2..b40fb9b2d0b 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 8f91891cfe3..a7b456d95c4 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 b41bbbed7e1..beb51c345af 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 b29f973c871..c08711ae8bc 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 7e8855cb222..7b383826912 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 406ea973bc2..50ef79f0bc5 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 afcdc5c4431..59a75b7ca55 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 84da3f5a5c8..e49bd99e270 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 9e7347b3a39..20cb78ef266 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 6d7c05cb0d6..f54014c9031 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 08bf2795e03..20d1ed72a58 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 478d5496418..54f87bb6296 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 30ab0fcd713..f187ee23a06 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 e5ff92a08f7..8c218e2bf66 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 cf92b9b66fa..bfa7c74610f 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 23567ba3485..cc943bfffe6 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) {