Overview
Comment: | Fix upgrade |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | dev |
Files: | files | file ages | folders |
SHA1: |
c9d0003024918fdc61addfc6a929029d |
User & Date: | bohwaz on 2020-04-21 23:16:44 |
Other Links: | branch diff | manifest | tags |
Context
2020-04-22
| ||
02:16 | Suppression du type dépense/recette pour un seul type "signet", car on saut déjà si c'est une charge ou produit avec la position check-in: f264c68657 user: bohwaz tags: dev | |
2020-04-21
| ||
23:16 | Fix upgrade check-in: c9d0003024 user: bohwaz tags: dev | |
14:10 | Empêcher les requêtes à favicon.ico de déclencher une requête cachée vers upgrade.php check-in: 978ee98591 user: bohwaz tags: dev | |
Changes
Modified src/include/data/1.0.0_migration.sql from [e92c373f0b] to [fc5fa4bc56].
︙ | ︙ | |||
10 11 12 13 14 15 16 | -- N'est pas utilisé DELETE FROM config WHERE cle = 'categorie_dons' OR cle = 'categorie_cotisations'; .read 1.0.0_schema.sql -- FIXME: insertion en comptes analytiques des projets et associations dans transactions | | | | | 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | -- N'est pas utilisé DELETE FROM config WHERE cle = 'categorie_dons' OR cle = 'categorie_cotisations'; .read 1.0.0_schema.sql -- FIXME: insertion en comptes analytiques des projets et associations dans transactions INSERT INTO acc_plans (id, country, code, label) VALUES (1, 'FR', 'PCGA1999', 'Plan comptable associatif 1999'); --.read plan_comptable_1999.sql --.read plan_comptable_2020.sql -- Migration comptes de code comme identifiant à ID unique INSERT INTO acc_accounts (id, id_plan, code, parent, label, position, user) SELECT NULL, 1, id, NULL, libelle, position, plan_comptable FROM compta_comptes_old; -- Migration de la hiérarchie UPDATE acc_accounts AS a SET parent = (SELECT id FROM acc_accounts AS b WHERE code = (SELECT parent FROM compta_comptes_old AS c WHERE id = b.code)); -- Migrations projets vers comptes analytiques INSERT INTO acc_accounts (id_plan, code, parent, label, position, user, type) VALUES (1, '99', (SELECT id FROM acc_accounts WHERE code = '9'), 'Projets', 0, 0, 4); |
︙ | ︙ | |||
42 43 44 45 46 47 48 | -- Chèques et carte à encaisser UPDATE acc_accounts SET type = 3 WHERE code = '5112' OR code = '5113'; -- Bénévolat en nature UPDATE acc_accounts SET type = 5 WHERE code = '870'; -- Recopie des mouvements | | | | | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | -- Chèques et carte à encaisser UPDATE acc_accounts SET type = 3 WHERE code = '5112' OR code = '5113'; -- Bénévolat en nature UPDATE acc_accounts SET type = 5 WHERE code = '870'; -- Recopie des mouvements INSERT INTO acc_transactions (id, label, notes, reference, date, id_year, id_analytical) SELECT id, libelle, remarques, numero_piece, date, id_exercice, CASE WHEN id_projet IS NOT NULL THEN (SELECT id FROM acc_accounts WHERE code = '99' || substr('0000' || id_projet, -4)) ELSE NULL END FROM compta_journal_old; -- Création des lignes associées aux mouvements INSERT INTO acc_transactions_lines (id_transaction, id_account, debit, credit, payment_reference) SELECT id, (SELECT id FROM acc_accounts WHERE code = compte_credit), 0, CAST(montant * 100 AS INT), numero_cheque FROM compta_journal_old; INSERT INTO acc_transactions_lines (id_transaction, id_account, debit, credit, payment_reference) SELECT id, (SELECT id FROM acc_accounts WHERE code = compte_debit), CAST(montant * 100 AS INT), 0, numero_cheque FROM compta_journal_old; -- Recopie des descriptions de catégories dans la table des comptes UPDATE acc_accounts SET (type, description) = (SELECT CASE WHEN c.type = -1 THEN 6 ELSE 7 END, c.description FROM compta_categories_old c WHERE c.id = code) WHERE EXISTS (SELECT rowid FROM compta_categories_old c WHERE c.id = code); -- Recopie des opérations, mais le nom a changé pour "mouvements" INSERT INTO membres_mouvements SELECT * FROM membres_operations_old; -- FIXME: ajout d'entrées dans le le log utilisateur à partir de id_auteur |
︙ | ︙ | |||
87 88 89 90 91 92 93 | -- Suppression de la table rapprochements DROP TABLE compta_rapprochement; -- Suppression inutilisées DROP TABLE compta_projets; DROP TABLE compta_comptes_bancaires; | | < < | 87 88 89 90 91 92 93 94 | -- Suppression de la table rapprochements DROP TABLE compta_rapprochement; -- Suppression inutilisées DROP TABLE compta_projets; DROP TABLE compta_comptes_bancaires; DROP TABLE compta_moyens_paiement; |
Modified src/include/data/1.0.0_schema.sql from [7a8e00355d] to [1b8216bf6d].
︙ | ︙ | |||
50 51 52 53 54 55 56 | CREATE TABLE IF NOT EXISTS cotisations_tarifs ( id INTEGER PRIMARY KEY NOT NULL, label TEXT NOT NULL, description TEXT NULL, amount INTEGER NULL, formula TEXT NULL, | | | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | CREATE TABLE IF NOT EXISTS cotisations_tarifs ( id INTEGER PRIMARY KEY NOT NULL, label TEXT NOT NULL, description TEXT NULL, amount INTEGER NULL, formula TEXT NULL, id_account INTEGER NULL REFERENCES acc_accounts (id) ON DELETE SET NULL -- NULL si le type n'est pas associé automatiquement à la compta ); CREATE TABLE IF NOT EXISTS cotisations_membres -- Enregistrement des cotisations et activités ( id INTEGER NOT NULL PRIMARY KEY, id_membre INTEGER NOT NULL REFERENCES membres (id) ON DELETE CASCADE, id_cotisation INTEGER NOT NULL REFERENCES cotisations (id) ON DELETE CASCADE, date TEXT NOT NULL DEFAULT CURRENT_DATE CHECK (date(date) IS NOT NULL AND date(date) = date) ); CREATE UNIQUE INDEX IF NOT EXISTS cm_unique ON cotisations_membres (id_membre, id_cotisation, date); CREATE TABLE IF NOT EXISTS membres_mouvements -- Liaison des enregistrement des paiements en compta ( id_membre INTEGER NOT NULL REFERENCES membres (id) ON DELETE CASCADE, id_transaction INTEGER NOT NULL REFERENCES acc_transactions (id) ON DELETE CASCADE, id_cotisation INTEGER NULL REFERENCES cotisations_membres (id) ON DELETE SET NULL, PRIMARY KEY (id_membre, id_transaction) ); CREATE TABLE IF NOT EXISTS rappels -- Rappels de devoir renouveller une cotisation ( id INTEGER NOT NULL PRIMARY KEY, id_cotisation INTEGER NOT NULL REFERENCES cotisations (id) ON DELETE CASCADE, |
︙ | ︙ | |||
189 190 191 192 193 194 195 | label TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS acc_accounts -- Comptes des plans comptables ( id INTEGER NOT NULL PRIMARY KEY, | | | | | | 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 | label TEXT NOT NULL ); CREATE TABLE IF NOT EXISTS acc_accounts -- Comptes des plans comptables ( id INTEGER NOT NULL PRIMARY KEY, id_plan INTEGER NOT NULL REFERENCES acc_plans, code TEXT NOT NULL, -- peut contenir des lettres, eg. 53A, 53B, etc. parent INTEGER NULL REFERENCES acc_accounts(id), label TEXT NOT NULL, description TEXT NULL, position INTEGER NOT NULL, -- position actif/passif/charge/produit type INTEGER NOT NULL DEFAULT 0, -- Type de compte spécial : banque, caisse, en attente d'encaissement bookmark INTEGER NOT NULL DEFAULT 0, -- Signet (ex-catégories): 1 = recette, -1 = dépense user INTEGER NOT NULL DEFAULT 1 -- 1 = fait partie du plan comptable original, 0 = a été ajouté par l'utilisateur ); CREATE UNIQUE INDEX IF NOT EXISTS acc_accounts_codes ON acc_accounts (code, id_plan); CREATE INDEX IF NOT EXISTS acc_accounts_parent ON acc_accounts (parent); CREATE TABLE IF NOT EXISTS acc_years -- Exercices ( id INTEGER NOT NULL PRIMARY KEY, label TEXT NOT NULL, start_date TEXT NOT NULL CHECK (date(start_date) IS NOT NULL AND date(start_date) = start_date), end_date TEXT NOT NULL CHECK (date(end_date) IS NOT NULL AND date(end_date) = end_date), closed INTEGER NOT NULL DEFAULT 0, id_plan INTEGER NOT NULL REFERENCES acc_plans (id) ); CREATE TABLE IF NOT EXISTS acc_transactions |
︙ | ︙ |
Modified src/include/lib/Garradin/DB.php from [76f153c2da] to [9be1dc4464].
︙ | ︙ | |||
57 58 59 60 61 62 63 | public function close(): void { parent::close(); self::$_instance = null; } | < < < < < < < < < < < < < < < < < < < | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | public function close(): void { parent::close(); self::$_instance = null; } public function beginSchemaUpdate() { $this->toggleForeignKeys(false); $this->begin(); } public function commitSchemaUpdate() |
︙ | ︙ |
Modified src/www/admin/upgrade.php from [6aa87d8d9d] to [ac88cc9359].
︙ | ︙ | |||
66 67 68 69 70 71 72 | <script> animatedLoader(document.getElementById("loader"), 5); </script>'; flush(); try { | < < < | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | <script> animatedLoader(document.getElementById("loader"), 5); </script>'; flush(); try { if (version_compare($v, '0.7.0', '<')) { $db->beginSchemaUpdate(); // Mise à jour base de données $db->exec(file_get_contents(ROOT . '/include/data/0.7.0_migration.sql')); |
︙ | ︙ | |||
267 268 269 270 271 272 273 | $db->commitSchemaUpdate(); } if (version_compare($v, '1.0.0', '<')) { $db->beginSchemaUpdate(); $db->import(ROOT . '/include/data/1.0.0_migration.sql'); | < < < | | < < < | 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 | $db->commitSchemaUpdate(); } if (version_compare($v, '1.0.0', '<')) { $db->beginSchemaUpdate(); $db->import(ROOT . '/include/data/1.0.0_migration.sql'); $db->commitSchemaUpdate(); } // Vérification de la cohérence des clés étrangères $db->foreignKeyCheck(); Utils::clearCaches(); $config->setVersion(garradin_version()); Static_Cache::remove('upgrade'); |
︙ | ︙ |