diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index 787a25727a72c31bf7bb67625d31b76d4cd7b720..0b1df53342877bfb76ab23aa7c97604f585c010f 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -98,8 +98,55 @@ jobs: with: token: ${{ secrets.CODECOV_TOKEN }} flags: api-integration, api + check-queries: + runs-on: ubuntu-latest + services: + postgres: + image: postgis/postgis:15-3.3 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + POSTGRES_DB: camino + PGUSER: postgres + PGPASSWORD: password + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + # Maps tcp port 5432 on service container to the host + - 5432:5432 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Use Node.js + uses: actions/setup-node@v3 + with: + node-version: '19.1' + cache: 'npm' + - name: Npm install + run: make install + + - name: Migrate database and check queries + run: | + make db/migrate + make db/check-queries + if [ ! -z "$(git status --porcelain)" ]; then + echo "Lancer 'make db/check-queries' sur sa machine et commiter les changements" + echo "BEGIN Git diff" + git diff + echo "END Git diff" + exit 1; + fi + env: + PGHOST: localhost + PGPORT: 5432 + PGUSER: postgres + PGPASSWORD: password + PGDATABASE: camino build: - needs: [unit-test, integration-test, lint, type] + needs: [unit-test, integration-test, lint, type, check-queries] runs-on: ubuntu-latest steps: diff --git a/.prettierignore b/.prettierignore index ebbe6c349228d1d2532b738c7a42a5bbc924bbf0..2cd852728d004d3839bbc3593118af712fd9d17c 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,14 +1,11 @@ -packages/ui/dist/** -packages/ui/tests/unit/coverage/** -packages/ui/src/styles/icons/icons.css -packages/ui/src/styles/system/forms.css -packages/ui/src/styles/settings.css packages/api/api-cache packages/api/backups packages/api/coverage packages/api/dist packages/api/docs packages/api/files +packages/api/node_modules packages/api/sources packages/api/CHANGELOG.md packages/api/**/*.json +packages/api/**/*.queries.types.ts \ No newline at end of file diff --git a/Makefile b/Makefile index b002c43ff29810b74145234b23026b32c6764bd4..fe649041013e19c8933a26b430ee2a47c234aa8c 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,15 @@ monthly: npm run monthly -w packages/api +db/migrate: + npm run db:migrate -w packages/api + +db/check-queries: +ifndef CI + npm run db:watch -w packages/api +else + npm run db:check -w packages/api +endif test: test/ui test/api test/common test/api: test/api-unit test/api-integration @@ -81,16 +90,18 @@ lint: lint/ui lint/api lint/common install: ifdef CI - npm pkg delete scripts -endif + HUSKY=0 npm ci --ignore-scripts +else npm ci +endif install/prod: ifdef CI - npm pkg delete scripts -endif + HUSKY=0 npm ci --omit=dev --ignore-scripts +else npm ci --omit=dev +endif build: build/common build/api build/ui diff --git a/packages/api/.eslintignore b/packages/api/.eslintignore index 3df214cf39b644bf788e0bda0d284d7581594cec..fdedf1ac498a18c72fbf9e16516ccc3eddc8df24 100644 --- a/packages/api/.eslintignore +++ b/packages/api/.eslintignore @@ -6,3 +6,4 @@ /files /node_modules /sources +/**/*.queries.types.ts \ No newline at end of file diff --git a/packages/api/.prettierignore b/packages/api/.prettierignore index 43abff40a55cc18825137da27316fa5894cd8ca9..934eb16dc7a9d214621ff40ac7b5502cdb643f92 100644 --- a/packages/api/.prettierignore +++ b/packages/api/.prettierignore @@ -8,4 +8,4 @@ node_modules sources CHANGELOG.md **/*.json -**/*.queries.types.ts \ No newline at end of file +/**/*.queries.types.ts \ No newline at end of file diff --git a/packages/api/package.json b/packages/api/package.json index 8b3bab51c4436934fbc1b83ecbe7874c68d7e6b7..e3ea0565561c1f9cc4b492d94e619c0b03ae5a41 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -17,7 +17,8 @@ "db:recreate": "dropdb --host=localhost --username=postgres camino && createdb --host=localhost --username=postgres camino", "db:migrate": "node --loader ts-node/esm/transpile-only ./src/knex/migrate.ts", "db:add-migration": "NODE_OPTIONS='--loader ts-node/esm/transpile-only' knex migrate:make", - "db:watch": "npx --package=@pgtyped/cli pgtyped -w -c config.json", + "db:watch": "npx --package=@pgtyped/cli pgtyped -w -c pgtyped-config.json", + "db:check": "npx --package=@pgtyped/cli pgtyped -c pgtyped-config.ci.json", "dev": "node --watch --loader ts-node/esm/transpile-only --inspect ./src/index.ts", "daily-debug": "node --inspect-brk=3000 --loader ts-node/esm/transpile-only ./src/scripts/daily.ts", "dev:backups-archive": "tar -zcvf backups/`date +%Y%m%d_%H%M%S`-camino.tar.gz backups/files/* backups/camino.sql", diff --git a/packages/api/pgtyped-config.ci.json b/packages/api/pgtyped-config.ci.json new file mode 100644 index 0000000000000000000000000000000000000000..212590fbd852a31a9716d9a96ac522df1d4398d9 --- /dev/null +++ b/packages/api/pgtyped-config.ci.json @@ -0,0 +1,18 @@ +{ + "transforms": [ + { + "mode": "ts", + "include": "**/*.queries.ts", + "emitTemplate": "{{dir}}/{{name}}.types.ts" + } + ], + "srcDir": "./src/", + "failOnError": true, + "camelCaseColumnNames": false, + "db": { + "host": "localhost", + "user": "postgres", + "dbName": "camino", + "password": "password" + } +} diff --git a/packages/api/config.json b/packages/api/pgtyped-config.json similarity index 100% rename from packages/api/config.json rename to packages/api/pgtyped-config.json diff --git a/packages/api/src/api/rest/statistiques/dgtm.queries.types.ts b/packages/api/src/api/rest/statistiques/dgtm.queries.types.ts index ed043e5b43c59819dc46de88ff8d31c999f480ef..4715e1fc13a9d78dd356be9b0fbf1db45180aa87 100644 --- a/packages/api/src/api/rest/statistiques/dgtm.queries.types.ts +++ b/packages/api/src/api/rest/statistiques/dgtm.queries.types.ts @@ -2,17 +2,18 @@ /** 'GetProductionOr' parameters type */ export interface IGetProductionOrParams { - substance?: string | null | void + substance?: string | null | void; } /** 'GetProductionOr' return type */ export interface IGetProductionOrResult { - annee: number | null - count: string | null + annee: number; + count: string | null; } /** 'GetProductionOr' query type */ export interface IGetProductionOrQuery { - params: IGetProductionOrParams - result: IGetProductionOrResult + params: IGetProductionOrParams; + result: IGetProductionOrResult; } + diff --git a/packages/api/src/knex/config.ts b/packages/api/src/knex/config.ts index 0d03ca586c4717de5d5aee717125761ddc679a5c..dc1d44ea291ba321757ac3fa46e644e6704591d3 100644 --- a/packages/api/src/knex/config.ts +++ b/packages/api/src/knex/config.ts @@ -16,7 +16,7 @@ export const knexConfig = { client: 'pg', connection, migrations: { - directory: [join(__dirname, './migrations-schema'), join(__dirname, './migrations-data')], + directory: [join(__dirname, './migrations')], stub: join(__dirname, './migration-stub.ts'), extension: 'ts', loadExtensions: ['.ts'], diff --git a/packages/api/src/knex/migrate.ts b/packages/api/src/knex/migrate.ts index 26735277c228c2d1faff0be7369edd1a896fb391..f0776d1d43eb60b8358ddb29ed59070659092d96 100644 --- a/packages/api/src/knex/migrate.ts +++ b/packages/api/src/knex/migrate.ts @@ -1,24 +1,24 @@ import '../init.js' import { knex } from '../knex.js' -import chalk from 'chalk' const run = async () => { try { console.info('migrate…') + const [latestBatchNo, latestLog] = await knex.migrate.latest() if (latestLog.length === 0) { - console.info(chalk.cyan(`already up to date\n`)) + console.info(`already up to date\n`) + } else { + console.info(`batch ${latestBatchNo} run: ${latestLog.length} migrations \n` + latestLog.join('\n') + '\n') } - console.info(chalk.green(`batch ${latestBatchNo} run: ${latestLog.length} migrations \n`) + chalk.cyan(latestLog.join('\n')) + '\n') - console.info('migrations terminées') process.exit() } catch (e) { if (e instanceof Error) { - console.error(chalk.red(e.stack)) + console.error(e.stack) } else { - console.error(chalk.red(e)) + console.error(e) } process.exit(1) diff --git a/packages/api/src/knex/migrations-data/20211103110922_etapes_statuts_complet_add.ts b/packages/api/src/knex/migrations-data/20211103110922_etapes_statuts_complet_add.ts deleted file mode 100644 index b7523be35946dca822b44083bbda9f80277a12bc..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20211103110922_etapes_statuts_complet_add.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex('etapes_statuts').insert([ - { - id: 'com', - nom: 'complet', - couleur: 'success', - }, - { - id: 'inc', - nom: 'incomplet', - couleur: 'error', - }, - ]) - - await knex('etapes_types__etapes_statuts').insert([ - { - etape_type_id: 'mcp', - etape_statut_id: 'com', - ordre: 1, - }, - { - etape_type_id: 'mcp', - etape_statut_id: 'inc', - ordre: 2, - }, - ]) - - await knex('titres_etapes').where('type_id', 'mcp').where('statut_id', 'fav').update('statut_id', 'com') - - await knex('titres_etapes').where('type_id', 'mcp').where('statut_id', 'def').update('statut_id', 'inc') - - await knex('etapes_types__etapes_statuts').where('etape_type_id', 'mcp').where('etape_statut_id', 'fav').del() - - return knex('etapes_types__etapes_statuts').where('etape_type_id', 'mcp').where('etape_statut_id', 'def').del() -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20211103135837_titres_etapes_incertitudes_clean.ts b/packages/api/src/knex/migrations-data/20211103135837_titres_etapes_incertitudes_clean.ts deleted file mode 100644 index bfdd556c6101d455f9cebc0e09db3d0d0207fffd..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20211103135837_titres_etapes_incertitudes_clean.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { Knex } from 'knex' -import TitresEtapes from '../../database/models/titres-etapes.js' - -export const up = async (knex: Knex) => { - const titresEtapes: any[] = await TitresEtapes.query().withGraphFetched('[titulaires, amodiataires, points, substances]') - - for (const titreEtape of titresEtapes) { - let updated = false - - // copier/coller du traitement effectué dans le model TitresEtapes - if (titreEtape.incertitudes) { - Object.keys(titreEtape.incertitudes).forEach(id => { - if (!titreEtape.incertitudes[id] || !(titreEtape[id] || titreEtape[id] === 0) || (Array.isArray(titreEtape[id]) && !titreEtape[id].length)) { - delete titreEtape.incertitudes[id] - updated = true - } - }) - - if (!Object.keys(titreEtape.incertitudes).length) { - titreEtape.incertitudes = null - updated = true - } - if (updated) { - await knex('titres_etapes').where('id', titreEtape.id).update('incertitudes', titreEtape.incertitudes) - - console.info(`Incertitudes nettoyées ${titreEtape.slug}`) - } - } - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20211116154026_demarches_statuts_travaux_finpolicemines_add.ts b/packages/api/src/knex/migrations-data/20211116154026_demarches_statuts_travaux_finpolicemines_add.ts deleted file mode 100644 index 14bd75403a46d91811a5594067c3ddadb2bf41f4..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20211116154026_demarches_statuts_travaux_finpolicemines_add.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex('demarches_statuts').insert([ - { - id: 'fpm', - nom: 'fin de la police des mines', - description: 'Fin de la police des mines', - couleur: 'success', - ordre: 11, - }, - ]) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20211123084623_metas_travaux_publi_recueil_acte_admin_add.ts b/packages/api/src/knex/migrations-data/20211123084623_metas_travaux_publi_recueil_acte_admin_add.ts deleted file mode 100644 index 0a918c60bb422bc21a9b564148caa75c0a2c1cf9..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20211123084623_metas_travaux_publi_recueil_acte_admin_add.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - const demarcheTypeId = 'dam' // déclaration d'arrêt définitif des travaux - const etapeTypeId = 'wpa' // publication au recueil des actes administratifs - const titresTypes = await knex.select().table('titres_types') - - for (const t of titresTypes) { - await knex('titres_types__demarches_types__etapes_types').insert({ - titreTypeId: t.id, - demarcheTypeId, - etapeTypeId, - ordre: 230, - }) - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20211201135203_etapes_travaux_arrete_ouverture_travaux_miniers_add.ts b/packages/api/src/knex/migrations-data/20211201135203_etapes_travaux_arrete_ouverture_travaux_miniers_add.ts deleted file mode 100644 index 38795659280144eddbc39fe65a16d17a3a8c15d1..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20211201135203_etapes_travaux_arrete_ouverture_travaux_miniers_add.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - // Ajoute l'étape "Arrêté d'ouverture de travaux miniers" - // à la démarche "Autorisation d'ouverture de travaux miniers". - const titresTypes = await knex.select().table('titres_types') - const etapeTypeId = 'wao' - const demarcheTypeId = 'aom' - - await knex('etapes_types').insert({ - id: etapeTypeId, - nom: "arrêté d'ouverture des travaux miniers", - description: "Arrêté d'ouverture des travaux miniers", - ordre: 1028, - fondamentale: false, - }) - - await knex('etapes_types__etapes_statuts').insert([ - { - etapeTypeId, - etapeStatutId: 'fai', - ordre: 0, - }, - ]) - - for (const t of titresTypes) { - await knex('titres_types__demarches_types__etapes_types').insert({ - titreTypeId: t.id, - demarcheTypeId, - etapeTypeId, - ordre: 260, - }) - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20211215100715_utilisateurs-camino-create.ts b/packages/api/src/knex/migrations-data/20211215100715_utilisateurs-camino-create.ts deleted file mode 100644 index 8b284beafd893ea11f9fc20b9dd7cc01db715579..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20211215100715_utilisateurs-camino-create.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Knex } from 'knex' -import { idGenerate } from '../../database/models/_format/id-create.js' -import { userSuper } from '../../database/user-super.js' - -export const up = async (knex: Knex) => { - await knex('utilisateurs').insert({ - ...userSuper, - motDePasse: idGenerate(), - }) -} -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220104133620_etapes_travaux_porter_connaissance_add.ts b/packages/api/src/knex/migrations-data/20220104133620_etapes_travaux_porter_connaissance_add.ts deleted file mode 100644 index e7a0420472526d62457f172dff6540340130ec38..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220104133620_etapes_travaux_porter_connaissance_add.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Knex } from 'knex' -import { TitreEtapesTravauxTypes } from '../../types.js' - -export const up = async (knex: Knex) => { - // Ajoute l'étape "Porter-à -connaissance" - // à la démarche "Déclaration d’arrêt définitif de travaux miniers DADT". - const titresTypes = await knex.select().table('titres_types') - const etapeTypeId = TitreEtapesTravauxTypes.PorterAConnaissance - const demarcheTypeId = 'dam' - - await knex('etapes_types').insert({ - id: etapeTypeId, - nom: 'porter-à -connaissance', - description: 'Porter-à -connaissance', - ordre: 1029, - fondamentale: false, - }) - - await knex('etapes_types__etapes_statuts').insert([ - { - etapeTypeId, - etapeStatutId: 'fai', - ordre: 0, - }, - ]) - - for (const t of titresTypes) { - await knex('titres_types__demarches_types__etapes_types').insert({ - titreTypeId: t.id, - demarcheTypeId, - etapeTypeId, - ordre: 240, - }) - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220119122515_document_type_jpa_migrate.ts b/packages/api/src/knex/migrations-data/20220119122515_document_type_jpa_migrate.ts deleted file mode 100644 index 7d49757e188cc3aa44203448dd1d3c187a341cae..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220119122515_document_type_jpa_migrate.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Knex } from 'knex' -import TitresEtapesJustificatifs from '../../database/models/titres-etapes-justificatifs.js' -import Document from '../../database/models/documents.js' -import fileRename from '../../tools/file-rename.js' -import { documentFilePathFind } from '../../tools/documents/document-path-find.js' - -export const up = async (knex: Knex) => { - await knex('titres_types__demarches_types__etapes_types__justificatifs_t').where('document_type_id', 'jpa').delete() - - await knex('titres_types__demarches_types__etapes_types__documents_types').insert({ - titreTypeId: 'arm', - demarcheTypeId: 'oct', - etapeTypeId: 'mfr', - documentTypeId: 'jpa', - }) - - const titreEtapeJustificatifs: any[] = await TitresEtapesJustificatifs.query().leftJoinRelated('document').where('document.typeId', 'jpa').withGraphFetched('[document, etape]') - - for (const titreEtapeJustificatif of titreEtapeJustificatifs) { - await TitresEtapesJustificatifs.query().delete().where('titreEtapeId', titreEtapeJustificatif.titreEtapeId).where('documentId', titreEtapeJustificatif.documentId) - - await Document.query().patchAndFetchById(titreEtapeJustificatif.documentId, { entrepriseId: null, titreEtapeId: titreEtapeJustificatif.titreEtapeId }) - - const pathFrom = await documentFilePathFind(titreEtapeJustificatif.document) - const pathTo = await documentFilePathFind( - { - ...titreEtapeJustificatif.document, - entrepriseId: undefined, - titreEtapeId: titreEtapeJustificatif.titreEtapeId, - }, - true - ) - try { - await fileRename(pathFrom, pathTo) - } catch (e) { - // console.log(e) - } - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220127132757_etapes_types_clean.ts b/packages/api/src/knex/migrations-data/20220127132757_etapes_types_clean.ts deleted file mode 100644 index d0003063368bc9f78b4d1add0ee6b04ca7f8a6aa..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220127132757_etapes_types_clean.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Knex } from 'knex' -import { titresEtapesGet } from '../../database/queries/titres-etapes.js' -import { userSuper } from '../../database/user-super.js' -import TitresEtapes from '../../database/models/titres-etapes.js' -import { deleteJournalCreate } from '../../database/queries/journaux.js' - -export const up = async (knex: Knex) => { - // Supprime l’étape DSL « Demande de l’accord du propriétaire du sol » - await knex('titres_types__demarches_types__etapes_types').where('etape_type_id', 'dsl').delete() - - const etapesDsl: any[] = await titresEtapesGet({ etapesTypesIds: ['dsl'] }, { fields: { demarche: {} } }, userSuper) - for (const etapeDsl of etapesDsl) { - await deleteJournalCreate(etapeDsl.id, TitresEtapes, userSuper.id, etapeDsl.demarche.titreId) - await TitresEtapes.query().delete().where('id', etapeDsl.id) - } - - await knex('administrations__titres_types__etapes_types').where('etape_type_id', 'dsl').delete() - - await knex('etapes_types__etapes_statuts').where('etape_type_id', 'dsl').delete() - - await knex('etapes_types').where('id', 'dsl').delete() - - // supprime l’eof « Expertise de l’ONF » des AXM et son cycle d’informations - await knex('titres_types__demarches_types__etapes_types').whereIn('etape_type_id', ['eof', 'rio', 'mio']).where('demarche_type_id', 'oct').where('titre_type_id', 'axm').delete() - - // Supprime l’étape QAE « Demande d’examen au cas par cas » - await knex('titres_types__demarches_types__etapes_types').where('etape_type_id', 'qae').delete() - - const etapesQae: any[] = await titresEtapesGet({ etapesTypesIds: ['qae'] }, { fields: { demarche: {} } }, userSuper) - for (const etapeQae of etapesQae) { - await deleteJournalCreate(etapeQae.id, TitresEtapes, userSuper.id, etapeQae.demarche.titreId) - await TitresEtapes.query().delete().where('id', etapeQae.id) - } - - await knex('administrations__titres_types__etapes_types').where('etape_type_id', 'qae').delete() - - await knex('etapes_types__etapes_statuts').where('etape_type_id', 'qae').delete() - - await knex('etapes_types').where('id', 'qae').delete() -} -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220404145904_titres_activites_wrp_masse_delete.ts b/packages/api/src/knex/migrations-data/20220404145904_titres_activites_wrp_masse_delete.ts deleted file mode 100644 index a74ea77be969bb1653f20f84801b1bdf9bfd5d90..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220404145904_titres_activites_wrp_masse_delete.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - const activites: any[] = await knex('titres_activites').where('typeId', 'wrp') - - for (let i = 0; i < activites.length; i++) { - const activite = activites[i] - - let updated = false - - if (activite.contenu?.renseignementsProduction) { - delete activite.contenu?.renseignementsProduction?.masseGranulatsExtrait - updated = true - } - - if (activite.sections) { - const section = activite.sections.find((s: { id: string }) => s.id === 'renseignementsProduction') - - if (section) { - section.elements = section.elements.filter((element: { id: string }) => element.id !== 'masseGranulatsExtrait') - - updated = true - } - } - - if (updated) { - await knex('titres_activites').where('id', activite.id).update(activite) - } - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220427064929_titres_etapes_asl_heritage_clean.ts b/packages/api/src/knex/migrations-data/20220427064929_titres_etapes_asl_heritage_clean.ts deleted file mode 100644 index 9ae53f3f87728177013888221bcc5bb026f6eb8e..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220427064929_titres_etapes_asl_heritage_clean.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - const etapeIds = (await knex('titres_etapes').where('type_id', 'asl').select('id')).map(({ id }) => id) - - await knex('titres_substances').whereIn('titre_etape_id', etapeIds).delete() - await knex('titres_titulaires').whereIn('titre_etape_id', etapeIds).delete() - await knex('titres_amodiataires').whereIn('titre_etape_id', etapeIds).delete() - await knex('titres_points').whereIn('titre_etape_id', etapeIds).delete() - - return knex('titres_etapes').where('type_id', 'asl').update({ heritage_props: null }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220519123402_supprime-mid-rid.ts b/packages/api/src/knex/migrations-data/20220519123402_supprime-mid-rid.ts deleted file mode 100644 index dc23ceba8d36404cfcdb36a3e4ae242a0f90bfc6..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220519123402_supprime-mid-rid.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - const etapeTypeIds = ['mid', 'rid'] - - await knex('administrations__titresTypes__etapesTypes').whereIn('etapeTypeId', etapeTypeIds).delete() - await knex('etapesTypes__etapesStatuts').whereIn('etapeTypeId', etapeTypeIds).delete() - await knex('titresTypes__demarchesTypes__etapesTypes').whereIn('etapeTypeId', etapeTypeIds).delete() - await knex('etapesTypes').whereIn('id', etapeTypeIds).delete() -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220609145836_fix-substances-ordre.ts b/packages/api/src/knex/migrations-data/20220609145836_fix-substances-ordre.ts deleted file mode 100644 index 05d3a8f2f533948dd21b99dc99011aca566bef7b..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220609145836_fix-substances-ordre.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Knex } from 'knex' -const mostImportantSubstances = ['auru', 'nacl'] -const leastImportantSubstances = ['tmas', 'suco', 'scor', 'oooo', 'rxxx', 'trxx'] - -export const up = async (knex: Knex) => { - const titresEtapesSubstances = await knex('titres_substances').select('titre_etape_id').count('titre_etape_id').whereNull('ordre').groupBy('titre_etape_id') - for (let i = 0; i < titresEtapesSubstances.length; i++) { - const titreEtapeSubstances = titresEtapesSubstances[i] - if (titreEtapeSubstances.count !== '1') { - const entries = await knex('titres_substances').where('titre_etape_id', titreEtapeSubstances.titreEtapeId) - const sorted = entries.sort((entry1, entry2) => { - if (mostImportantSubstances.includes(entry1.substanceId)) { - return -1 - } - if (mostImportantSubstances.includes(entry2.substanceId)) { - return 1 - } - - if (leastImportantSubstances.includes(entry1.substanceId)) { - return 1 - } - - if (leastImportantSubstances.includes(entry2.substanceId)) { - return -1 - } - - return 0 - }) - - for (let j = 0; j < sorted.length; j++) { - const titreEtapeSubstance = sorted[j] - await knex('titres_substances').where('titre_etape_id', titreEtapeSubstance.titreEtapeId).andWhere('substanceId', titreEtapeSubstance.substanceId).update('ordre', j) - } - } - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220615122602_bureau-etudes-create.ts b/packages/api/src/knex/migrations-data/20220615122602_bureau-etudes-create.ts deleted file mode 100644 index ad68a0ba0b6db0e274ba6f107da4b1fdbcf5c208..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220615122602_bureau-etudes-create.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => knex('utilisateurs').whereIn('id', ['c7142a', '38cbc5', '24414c', '40bf91', '95177f']).update({ role: 'bureau d’études' }) - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220704122231_remove-plg.ts b/packages/api/src/knex/migrations-data/20220704122231_remove-plg.ts deleted file mode 100644 index d1b3e723d0dde995e9b1696e12a293fc69f42fa7..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220704122231_remove-plg.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex('etapesTypes__documentsTypes').where('documentTypeId', 'plg').delete() - await knex('documentsTypes').where('id', 'plg').delete() -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220706130330_demarches-types-fusion-concession.ts b/packages/api/src/knex/migrations-data/20220706130330_demarches-types-fusion-concession.ts deleted file mode 100644 index 46afef1b059d6e14ff87542403a5bdbcb91121d0..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220706130330_demarches-types-fusion-concession.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex('titres_types__demarches_types').insert({ - titreTypeId: 'cxm', - demarcheTypeId: 'fus', - }) - - await knex('titres_types__demarches_types__etapes_types').insert({ - titreTypeId: 'cxm', - demarcheTypeId: 'fus', - etapeTypeId: 'dex', - ordre: 100, - }) - - await knex('titres_types__demarches_types__etapes_types').insert({ - titreTypeId: 'cxm', - demarcheTypeId: 'fus', - etapeTypeId: 'dpu', - ordre: 200, - }) -} -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220726122406_activites-fiscales-unites-fix.ts b/packages/api/src/knex/migrations-data/20220726122406_activites-fiscales-unites-fix.ts deleted file mode 100644 index dcb02f69d7f0266f9f5207ea51fc87537314976d..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220726122406_activites-fiscales-unites-fix.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { UniteId, Unites } from 'camino-common/src/static/unites.js' -import { Knex } from 'knex' -import { SUBSTANCES_FISCALES_IDS, SubstancesFiscale, isSubstanceFiscale } from 'camino-common/src/static/substancesFiscales.js' -export const up = async (knex: Knex) => { - const activites: { - id: string - sections: { - id: string - elements: { - id: string - uniteId: UniteId - referenceUniteRatio: number - description: string - }[] - }[] - }[] = await knex('titres_activites') - - for (let i = 0; i < activites.length; i++) { - const activite = activites[i] - - let updated = false - - const substancesNeedFix = [SUBSTANCES_FISCALES_IDS['pyrite de fer'], SUBSTANCES_FISCALES_IDS['minerais de fer'], SUBSTANCES_FISCALES_IDS['schistes carbobitumineux et schistes bitumineux']] - - const sectionSubstancesFiscales = activite.sections?.find(section => section.id === 'substancesFiscales') - - if (sectionSubstancesFiscales) { - for (const element of sectionSubstancesFiscales.elements) { - if (substancesNeedFix.includes(element.id) && isSubstanceFiscale(element.id)) { - const sf = SubstancesFiscale[element.id] - element.uniteId = sf.uniteId - - const unite = Unites[element.uniteId] - element.referenceUniteRatio = unite.referenceUniteRatio ?? 1 - element.description = `<b>${unite.symbole} (${unite.nom})</b> ${sf.description}` - updated = true - } - } - } - if (updated) { - await knex('titres_activites').where('id', activite.id).update(activite) - } - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220816140444_substances-ordre-required.ts b/packages/api/src/knex/migrations-data/20220816140444_substances-ordre-required.ts deleted file mode 100644 index 680ca8effbfa9cf0a12cd71a8507258e9bebea39..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220816140444_substances-ordre-required.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex('titres_substances').whereNull('ordre').update({ ordre: 0 }) - - const titresSubstances: any[] = await knex('titres_substances') - - const groupByTitres: Record<string, any> = titresSubstances.reduce((acc, ts) => { - if (!acc[ts.titreEtapeId]) { - acc[ts.titreEtapeId] = [] - } - acc[ts.titreEtapeId].push(ts) - - return acc - }, {}) - - for (const titreSubstances of Object.values(groupByTitres)) { - titreSubstances.sort((a: { ordre: number }, b: { ordre: number }) => a.ordre - b.ordre) - for (let index = 0; index < titreSubstances.length; index++) { - const ts = titreSubstances[index] - await knex('titres_substances').where('titreEtapeId', ts.titreEtapeId).where('substanceId', ts.substanceId).update('ordre', index) - } - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220830145751_document-notice-impact-fix.ts b/packages/api/src/knex/migrations-data/20220830145751_document-notice-impact-fix.ts deleted file mode 100644 index 855a8a199da8f18898e2fd872f0198f87e76f484..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220830145751_document-notice-impact-fix.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex('documentsTypes').insert({ id: 'nip', nom: 'Notice d’impact' }) - await knex('titresTypes__demarchesTypes__etapesTypes__documentsTypes').insert({ - titreTypeId: 'axm', - demarcheTypeId: 'oct', - etapeTypeId: 'mfr', - documentTypeId: 'nip', - optionnel: true, - }) - - const noticesIncidences = await knex('documents').where('typeId', 'noi') - for (const noticeIncidence of noticesIncidences) { - const etape = await knex('titresEtapes').where('id', noticeIncidence.titreEtapeId).first() - if (etape && etape.slug.startsWith('m-ax-')) { - await knex('documents') - .where('id', noticeIncidence.id) - .update({ ...noticeIncidence, typeId: 'nip' }) - } - } -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20220905150740_change-la-visibilite-des-titres-stockage-souterrain.ts b/packages/api/src/knex/migrations-data/20220905150740_change-la-visibilite-des-titres-stockage-souterrain.ts deleted file mode 100644 index c35fd27b7015b8d7e327880b60759aca47cf3733..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20220905150740_change-la-visibilite-des-titres-stockage-souterrain.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex('titresTypes__titresStatuts').whereLike('titreTypeId', '%s').whereIn('titreStatutId', ['val', 'ech', 'dmi', 'mod']).update({ - publicLecture: true, - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20221019080302_ajout-tde-ppu-ppc-afp-ars-aac.ts b/packages/api/src/knex/migrations-data/20221019080302_ajout-tde-ppu-ppc-afp-ars-aac.ts deleted file mode 100644 index 63d378cf66a42a462090b2360b87421fa6c11682..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20221019080302_ajout-tde-ppu-ppc-afp-ars-aac.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.raw(`INSERT INTO titres_types__demarches_types__etapes_types(titre_type_id, ordre, demarche_type_id, etape_type_id) VALUES - ('prm', 261, 'pr2','ppu'), - ('prm', 261, 'pr2','ppc'), - ('prm', 261, 'pr1','ppu'), - ('prm', 262, 'pr1','ppc'), - ('prw', 201, 'pr1','ppu'), - ('prw', 202, 'pr1','ppc'), - ('prw', 201, 'pr2','ppu'), - ('prw', 202, 'pr2','ppc'), - ('prm', 261, 'oct','afp'), - ('prm', 262, 'oct','ars'), - ('prm', 263, 'oct','aac'); - `) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20221107143442_delete-entreprises-titres-types.ts b/packages/api/src/knex/migrations-data/20221107143442_delete-entreprises-titres-types.ts deleted file mode 100644 index 5e20e9882b1e0debc7fe41055dba0800a014a9bd..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20221107143442_delete-entreprises-titres-types.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.dropTable('entreprises__titresTypes') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20221214091154_delete-etape-type-duy.ts b/packages/api/src/knex/migrations-data/20221214091154_delete-etape-type-duy.ts deleted file mode 100644 index 17da3a40a1fa2da23bfae52cd39fef2a1b8e4b3b..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20221214091154_delete-etape-type-duy.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.raw("delete from etapes_types where id = 'duy'") -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20230116093949_merge-carte-plan.ts b/packages/api/src/knex/migrations-data/20230116093949_merge-carte-plan.ts deleted file mode 100644 index 9acd051802fe94e588f17528e61f853677653e99..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20230116093949_merge-carte-plan.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.raw("update documents set type_id='car' where type_id='pla'") - await knex.raw("delete from documents_types where id = 'pla'") -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20230131155632_prm-sections-mod-engagement.ts b/packages/api/src/knex/migrations-data/20230131155632_prm-sections-mod-engagement.ts deleted file mode 100644 index 6db71b920932d1c3f9dc846ed14f463073a32f40..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20230131155632_prm-sections-mod-engagement.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.raw( - "update titres_types__demarches_types__etapes_types set sections=(select sections from titres_types__demarches_types__etapes_types where titre_type_id='prm' and demarche_type_id='oct' and etape_type_id='mfr') where titre_type_id='prm' and demarche_type_id='oct' and etape_type_id='mod'" - ) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-data/20230207101630_domaine-indetermine-delete.ts b/packages/api/src/knex/migrations-data/20230207101630_domaine-indetermine-delete.ts deleted file mode 100644 index 54240b321035a750686ac200560a50ee2dea0184..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-data/20230207101630_domaine-indetermine-delete.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.raw("delete from titres_types__demarches_types__etapes_types where titre_type_id like '%i'") - await knex.raw("delete from titres_types__demarches_types where titre_type_id like '%i'") - await knex.raw("delete from titres_types where domaine_id = 'i'") - await knex.raw("delete from domaines where id = 'i'") -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20180521000000_globales.ts b/packages/api/src/knex/migrations-schema/20180521000000_globales.ts deleted file mode 100644 index c8dc2516e09c45a3da3080549590c678bf17b0c8..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000000_globales.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Knex } from 'knex' - -export const up = (knex: Knex) => - knex.schema.createTable('globales', table => { - table.string('id').primary() - table.boolean('valeur').notNullable() - }) - -export const down = (knex: Knex) => knex.schema.dropTable('globales') diff --git a/packages/api/src/knex/migrations-schema/20180521000001_domaines_types_statuts.ts b/packages/api/src/knex/migrations-schema/20180521000001_domaines_types_statuts.ts deleted file mode 100644 index 579a1fc00e8844398653a8e52a43206c132194bb..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000001_domaines_types_statuts.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema - .createTable('domaines', table => { - table.string('id', 1).primary() - table.string('nom').notNullable() - table.text('description') - table.integer('ordre').notNullable() - }) - .createTable('titresTypesTypes', table => { - table.string('id', 2).primary() - table.string('nom').notNullable() - table.text('description') - table.integer('ordre').notNullable() - }) - .createTable('titresTypes', table => { - table.string('id', 3).primary().notNullable() - table.string('domaineId', 1).index().references('domaines.id').notNullable() - table.string('typeId', 3).index().references('titresTypesTypes.id').notNullable() - table.specificType('contenuIds', 'jsonb[]') - table.boolean('archive') - table.unique(['domaineId', 'typeId']) - }) - .createTable('titres_statuts', table => { - table.string('id', 3).primary() - table.string('nom', 32).notNullable() - table.text('description') - table.string('couleur', 16).notNullable() - table.integer('ordre') - }) - .createTable('titresTypes__titresStatuts', table => { - table.string('titreTypeId').index().references('titresTypes.id').notNullable() - table.string('titreStatutId').index().references('titresStatuts.id').notNullable() - table.boolean('publicLecture') - table.primary(['titreTypeId', 'titreStatutId']) - }) - -export const down = (knex: Knex) => knex.schema.dropTable('titresTypesTypes').dropTable('domaines').dropTable('titresTypes__titresStatuts').dropTable('titresTypes').dropTable('titresStatuts') diff --git a/packages/api/src/knex/migrations-schema/20180521000002_demarches_etapes.ts b/packages/api/src/knex/migrations-schema/20180521000002_demarches_etapes.ts deleted file mode 100644 index a95006ca7818c5e04d2e59e829058ca70140b887..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000002_demarches_etapes.ts +++ /dev/null @@ -1,127 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => { - return knex.schema - .createTable('demarchesTypes', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.text('description') - table.integer('ordre') - table.boolean('duree') - table.boolean('points') - table.boolean('substances') - table.boolean('titulaires') - table.boolean('renouvelable') - table.boolean('exception') - table.boolean('auto') - }) - .createTable('titresTypes__demarchesTypes', table => { - table.string('titreTypeId', 3).index().references('titresTypes.id').notNullable() - table.string('demarcheTypeId', 3).index().references('demarchesTypes.id').notNullable() - table.integer('dureeMax') - table.boolean('acceptationImplicite') - table.string('delaiImplicite') - table.string('delaiRecours') - table.string('legalRef') - table.string('legalLien') - table.string('dateDebut', 10) - table.string('dateFin', 10) - table.primary(['titreTypeId', 'demarcheTypeId']) - }) - .createTable('demarchesStatuts', table => { - table.string('id', 3).primary() - table.string('nom', 32).notNullable() - table.text('description') - table.string('couleur', 16).notNullable() - table.integer('ordre').notNullable() - }) - .createTable('phasesStatuts', table => { - table.string('id', 3).primary() - table.string('nom', 32).notNullable() - table.string('couleur', 16).notNullable() - }) - .createTable('etapesTypes', table => { - table.string('id', 3).primary() - table.string('parentId', 3).references('etapesTypes.id') - table.string('nom', 128) - table.text('description') - table.integer('ordre').notNullable() - table.boolean('fondamentale') - table.boolean('unique') - table.boolean('acceptationAuto') - table.string('legalRef') - table.string('legalLien') - table.string('dateDebut', 10) - table.string('dateFin', 10) - table.specificType('sections', 'jsonb[]') - table.boolean('publicLecture') - table.boolean('entreprisesLecture') - }) - .createTable('titresTypes__demarchesTypes__etapesTypes', table => { - table.string('titreTypeId', 3).index().references('titresTypes.id').notNullable() - table.integer('ordre') - table.string('demarcheTypeId', 7).index().references('demarchesTypes.id').notNullable() - table.string('etapeTypeId', 3).index().references('etapesTypes.id').notNullable() - table.specificType('sections', 'jsonb[]') - table.primary(['titreTypeId', 'demarcheTypeId', 'etapeTypeId']) - }) - .createTable('etapesStatuts', table => { - table.string('id', 3).primary() - table.string('nom', 32).notNullable() - table.text('description') - table.string('couleur', 16).notNullable() - }) - .createTable('etapesTypes__etapesStatuts', table => { - table.string('etapeTypeId', 3).index().references('etapesTypes.id').notNullable() - table.string('etapeStatutId', 3).index().references('etapesStatuts.id').notNullable() - table.integer('ordre') - table.primary(['etapeTypeId', 'etapeStatutId']) - }) - .createTable('documentsTypes', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.text('description') - }) - .createTable('etapesTypes__documentsTypes', table => { - table.string('etapeTypeId', 3).index().references('etapesTypes.id').notNullable().onDelete('CASCADE') - table.string('documentTypeId', 3).index().references('documentsTypes.id').notNullable() - table.boolean('optionnel') - table.text('description') - table.primary(['etapeTypeId', 'documentTypeId']) - }) - .createTable('titresTypes__demarchesTypes__etapesTypes__documentsTypes', table => { - table.string('titreTypeId', 3).index().notNullable() - table.string('demarcheTypeId', 7).index().notNullable() - table.string('etapeTypeId', 3).index().notNullable() - table.string('documentTypeId', 3).index().references('documentsTypes.id').notNullable() - table.boolean('optionnel') - table.text('description') - table.primary(['titreTypeId', 'demarcheTypeId', 'etapeTypeId', 'documentTypeId']) - table.foreign(['titreTypeId', 'demarcheTypeId', 'etapeTypeId']).references(['titreTypeId', 'demarcheTypeId', 'etapeTypeId']).inTable('titresTypes__demarchesTypes__etapesTypes') - }) - .createTable('titresTypes__demarchesTypes__etapesTypes__justificatifsT', table => { - table.string('titreTypeId', 3).index().notNullable() - table.string('demarcheTypeId', 7).index().notNullable() - table.string('etapeTypeId', 3).index().notNullable() - table.string('documentTypeId', 3).index().references('documentsTypes.id').notNullable() - table.boolean('optionnel') - table.text('description') - table.primary(['titreTypeId', 'demarcheTypeId', 'etapeTypeId', 'documentTypeId']) - table.foreign(['titreTypeId', 'demarcheTypeId', 'etapeTypeId']).references(['titreTypeId', 'demarcheTypeId', 'etapeTypeId']).inTable('titresTypes__demarchesTypes__etapesTypes') - }) -} - -export const down = (knex: Knex) => { - return knex.schema - .dropTable('titresTypes__demarchesTypes__etapesTypes__justificatifsT') - .dropTable('titresTypes__demarchesTypes__etapesTypes__documentsTypes') - .dropTable('etapesTypes__documentsTypes') - .dropTable('etapesTypes__etapesStatuts') - .dropTable('etapesStatuts') - .dropTable('titresTypes__demarchesTypes__etapesTypes') - .dropTable('etapesTypes') - .dropTable('demarchesStatuts') - .dropTable('titresTypes__demarchesTypes') - .dropTable('demarchesTypes') - .dropTable('phasesStatuts') - .dropTable('documentsTypes') -} diff --git a/packages/api/src/knex/migrations-schema/20180521000003_unites.ts b/packages/api/src/knex/migrations-schema/20180521000003_unites.ts deleted file mode 100644 index d387b990e240bad471b0f32650796898e861c34b..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000003_unites.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema - .createTable('devises', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.integer('ordre') - }) - .createTable('unites', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.string('symbole').notNullable() - table.string('referenceUniteId', 3).references('id') - table.float('referenceUniteRatio') - }) - .createTable('geoSystemes', table => { - table.string('id', 5).primary() - table.string('nom').notNullable() - table.integer('ordre') - table.string('uniteId', 3).index().references('unites.id').notNullable() - table.string('zone') - table.string('definitionProj4') - }) - .createTable('referencesTypes', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - }) - -export const down = (knex: Knex) => knex.schema.dropTable('devises').dropTable('geoSystemes').dropTable('unites').dropTable('referencesTypes') diff --git a/packages/api/src/knex/migrations-schema/20180521000004_substances.ts b/packages/api/src/knex/migrations-schema/20180521000004_substances.ts deleted file mode 100644 index ac620282a31cab0fe8900f1ae47572b75a77c1b1..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000004_substances.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => { - return knex.schema - .createTable('substancesLegalesCodes', table => { - table.string('id').primary() - table.string('nom') - table.string('code').notNullable() - table.text('description') - table.string('lien').notNullable() - table.integer('ordre').notNullable() - }) - .createTable('substancesLegales', table => { - table.string('id').primary() - table.string('nom').notNullable() - table.string('domaineId', 1).notNullable().index().references('domaines.id') - table.text('description') - table.string('substanceLegaleCodeId').index().references('substancesLegalesCodes.id').notNullable() - }) - .createTable('substances', table => { - table.string('id', 4).primary() - table.string('nom').notNullable() - table.string('symbole') - table.integer('gerep') - table.string('description', 2048) - }) - .createTable('substances__substancesLegales', table => { - table.string('substanceId').index().references('substances.id').notNullable().onDelete('CASCADE') - table.string('substanceLegaleId').index().references('substancesLegales.id').notNullable() - table.primary(['substanceId', 'substanceLegaleId']) - }) - .createTable('substancesFiscales', table => { - table.string('id', 4).primary() - table.string('substanceLegaleId').index().references('substancesLegales.id').notNullable() - table.string('uniteId').index().references('unites.id').notNullable() - table.string('redevanceUniteId').index().references('unites.id') - table.string('nom').notNullable() - table.string('description', 2048) - }) -} - -export const down = (knex: Knex) => { - return knex.schema.dropTable('substances__substancesLegales').dropTable('substances').dropTable('substancesLegales').dropTable('substancesLegalesCodes') -} diff --git a/packages/api/src/knex/migrations-schema/20180521000005_territoires.ts b/packages/api/src/knex/migrations-schema/20180521000005_territoires.ts deleted file mode 100644 index e3a587989bb6b69d22ac864a94e64c49f742e686..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000005_territoires.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => { - return knex.schema - .createTable('pays', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.string('timezone') - }) - .createTable('regions', table => { - table.string('id', 2).primary() - table.string('nom') - table.string('paysId', 3).notNullable().index().references('pays.id') - table.string('cheflieuId', 5) - }) - .createTable('departements', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.string('regionId', 2).notNullable().index().references('regions.id') - table.string('cheflieuId', 5) - }) - .createTable('communes', table => { - table.string('id', 5).primary() - table.string('nom').notNullable() - table.string('departementId', 3).notNullable().index().references('departements.id') - }) - .createTable('forets', table => { - table.string('id', 30).primary() - table.string('nom').notNullable() - }) -} - -export const down = (knex: Knex) => { - return knex.schema.dropTable('communes').dropTable('departements').dropTable('regions').dropTable('pays').dropTable('forets') -} diff --git a/packages/api/src/knex/migrations-schema/20180521000006_calendrier.ts b/packages/api/src/knex/migrations-schema/20180521000006_calendrier.ts deleted file mode 100644 index 642dbc2a2a703c18362d4dd72d2478d0a8cfa90d..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000006_calendrier.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => { - return knex.schema - .createTable('frequences', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.string('periodesNom') - }) - .createTable('annees', table => { - table.integer('id', 1).primary() - table.string('nom').notNullable() - table.string('frequenceId', 3).index().references('frequences.id') - }) - .createTable('trimestres', table => { - table.integer('id', 1).primary() - table.string('nom').notNullable() - table.string('frequenceId', 3).index().references('frequences.id') - }) - .createTable('mois', table => { - table.integer('id', 2).primary() - table.string('nom').notNullable() - table.string('frequenceId', 3).index().references('frequences.id') - table.integer('trimestreId', 1).index().references('trimestres.id') - }) -} - -export const down = (knex: Knex) => { - return knex.schema.dropTable('mois').dropTable('trimestres').dropTable('frequences') -} diff --git a/packages/api/src/knex/migrations-schema/20180521000007_metas_activites.ts b/packages/api/src/knex/migrations-schema/20180521000007_metas_activites.ts deleted file mode 100644 index d9ee6c05bc5b6df6dd92e5891ee9248f30fa1b5c..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000007_metas_activites.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema - .createTable('activitesTypes', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.specificType('sections', 'jsonb[]').notNullable() - table.string('frequenceId', 3).notNullable().index().references('frequences.id') - table.string('dateDebut').notNullable() - table.integer('delaiMois') - table.string('satisfaction_url') - table.integer('ordre').notNullable() - table.string('email', 128) - table.text('description') - }) - .createTable('activitesTypes__titresTypes', table => { - table.string('titreTypeId', 3).index().references('titresTypes.id').notNullable() - table.string('activiteTypeId', 3).index().references('activitesTypes.id').notNullable() - table.primary(['activiteTypeId', 'titreTypeId']) - }) - .createTable('activitesTypes__pays', table => { - table.string('paysId', 3).notNullable().index().references('pays.id') - table.string('activiteTypeId', 3).index().references('activitesTypes.id').notNullable().onDelete('CASCADE') - table.primary(['paysId', 'activiteTypeId']) - }) - .createTable('activitesTypes__documentsTypes', table => { - table.string('activiteTypeId', 3).index().references('activitesTypes.id').notNullable().onDelete('CASCADE') - table.string('documentTypeId', 3).index().references('documentsTypes.id').notNullable() - table.boolean('optionnel') - table.primary(['activiteTypeId', 'documentTypeId']) - }) - .createTable('activitesStatuts', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.string('couleur', 16).notNullable() - }) - -export const down = (knex: Knex) => - knex.schema.dropTable('activitesTypes__pays').dropTable('activitesTypes__documentsTypes').dropTable('activitesTypes__titresTypes').dropTable('activitesTypes').dropTable('activitesStatuts') diff --git a/packages/api/src/knex/migrations-schema/20180521000008_metas_travaux.ts b/packages/api/src/knex/migrations-schema/20180521000008_metas_travaux.ts deleted file mode 100644 index b620cd320fe338afdbe679595b9036db05978cbd..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000008_metas_travaux.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema - .createTable('travauxTypes', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.text('description') - table.integer('ordre').notNullable() - }) - .createTable('travauxEtapesTypes', table => { - table.string('id', 3).primary() - table.string('nom', 128) - table.text('description') - table.integer('ordre').notNullable() - }) - .createTable('travauxTypes__travauxEtapesTypes', table => { - table.string('travauxTypeId', 3).index().references('travauxTypes.id').notNullable() - table.string('travauxEtapeTypeId', 3).index().references('travauxEtapesTypes.id').notNullable() - table.integer('ordre').notNullable() - table.primary(['travauxTypeId', 'travauxEtapeTypeId']) - }) - .createTable('travauxEtapesTypes__etapesStatuts', table => { - table.string('travauxEtapeTypeId', 3).index().references('travauxEtapesTypes.id').notNullable() - table.string('etapeStatutId', 3).index().references('etapesStatuts.id').notNullable() - table.integer('ordre') - table.primary(['travauxEtapeTypeId', 'etapeStatutId']) - }) - .createTable('travauxEtapesTypes__documentsTypes', table => { - table.string('travauxEtapeTypeId', 3).index().references('travauxEtapesTypes.id').notNullable().onDelete('CASCADE') - table.string('documentTypeId', 3).index().references('documentsTypes.id').notNullable() - table.boolean('optionnel') - table.primary(['travauxEtapeTypeId', 'documentTypeId']) - }) - -export const down = (knex: Knex) => - knex.schema - .dropTable('travauxEtapesTypes__documentsTypes') - .dropTable('travauxEtapesTypes__etapesStatuts') - .dropTable('travauxTypes__travauxEtapesTypes') - .dropTable('travauxEtapesTypes') - .dropTable('travauxTypes') diff --git a/packages/api/src/knex/migrations-schema/20180521000009_repertoire.ts b/packages/api/src/knex/migrations-schema/20180521000009_repertoire.ts deleted file mode 100644 index df88a855a82013aee5e01f47e581168925e47781..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180521000009_repertoire.ts +++ /dev/null @@ -1,142 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema - .createTable('entreprises', table => { - table.string('id', 64).primary() - table.string('nom').notNullable() - table.string('paysId') - table.string('legalSiren') - table.string('legalEtranger') - table.string('legalForme') - table.string('categorie') - table.string('dateCreation', 10) - table.string('adresse') - table.string('codePostal') - table.string('commune') - table.string('cedex') - table.string('url', 1024) - table.string('email') - table.string('telephone') - table.boolean('archive').defaultTo(false) - }) - .createTable('entreprisesEtablissements', table => { - table.string('id', 64).primary() - table.string('entrepriseId', 64).index().references('entreprises.id').notNullable().onDelete('CASCADE') - table.string('nom') - table.string('legalSiret') - table.string('dateDebut', 10) - table.string('dateFin', 10) - }) - .createTable('entreprises__documentsTypes', table => { - table.string('documentTypeId', 3).index().references('documentsTypes.id').notNullable() - table.primary(['documentTypeId']) - }) - .createTable('entreprises__titresTypes', table => { - table.string('entrepriseId').index().references('entreprises.id').onUpdate('CASCADE').onDelete('CASCADE').notNullable() - table.string('titreTypeId').index().references('titresTypes.id').notNullable() - table.boolean('titresCreation') - table.primary(['entrepriseId', 'titreTypeId']) - }) - .createTable('administrationsTypes', table => { - table.string('id', 64).primary() - table.string('nom').notNullable() - table.integer('ordre') - }) - .createTable('administrations', table => { - table.string('id', 64).primary() - table.string('typeId').index().references('administrationsTypes.id').notNullable() - table.string('nom').notNullable() - table.string('abreviation', 255) - table.string('service') - table.string('url', 1024) - table.string('email') - table.string('telephone') - table.string('adresse1') - table.string('adresse2') - table.string('codePostal') - table.string('commune') - table.string('cedex') - table.string('departementId').index().references('departements.id') - table.string('regionId').index().references('regions.id') - }) - .createTable('administrations__titresTypes', table => { - table.string('administrationId').index().references('administrations.id').onUpdate('CASCADE').onDelete('CASCADE').notNullable() - table.string('titreTypeId').index().references('titresTypes.id').notNullable() - table.boolean('gestionnaire') - table.boolean('associee') - table.primary(['administrationId', 'titreTypeId']) - }) - .createTable('administrations__titresTypes__titresStatuts', table => { - table.string('administrationId').index().references('administrations.id').onUpdate('CASCADE').onDelete('CASCADE').notNullable() - table.string('titreTypeId').index().references('titresTypes.id').notNullable() - table.string('titreStatutId').index().references('titresStatuts.id').notNullable() - table.boolean('titresModificationInterdit') - table.boolean('demarchesModificationInterdit') - table.boolean('etapesModificationInterdit') - table.primary(['administrationId', 'titreTypeId', 'titreStatutId']) - }) - .createTable('administrations__titresTypes__etapesTypes', table => { - table.string('administrationId').index().references('administrations.id').onUpdate('CASCADE').onDelete('CASCADE').notNullable() - table.string('titreTypeId').index().references('titresTypes.id').notNullable() - table.string('etapeTypeId').index().references('etapesTypes.id').notNullable() - table.boolean('lectureInterdit') - table.boolean('creationInterdit') - table.boolean('modificationInterdit') - table.primary(['administrationId', 'titreTypeId', 'etapeTypeId']) - }) - .createTable('administrations__activitesTypes', table => { - table.string('activiteTypeId', 3).index().references('activitesTypes.id').notNullable().onDelete('CASCADE') - table.string('administrationId', 64).notNullable().index().references('administrations.id').onDelete('CASCADE') - table.boolean('modificationInterdit') - table.boolean('lectureInterdit') - table.primary(['administrationId', 'activiteTypeId']) - }) - .createTable('permissions', table => { - table.string('id', 12).primary() - table.string('nom').notNullable() - table.integer('ordre') - }) - .createTable('utilisateurs', table => { - table.string('id').primary() - table.string('email').unique() - table.string('motDePasse').notNullable() - table.string('nom') - table.string('prenom') - table.string('telephoneFixe') - table.string('telephoneMobile') - table.string('refreshToken') - table.string('permissionId', 12).index().references('permissions.id').notNullable() - table.json('preferences') - table.boolean('newsletter') - }) - .createTable('utilisateurs__entreprises', table => { - table.string('utilisateurId', 64).index().references('utilisateurs.id').onDelete('CASCADE') - table.string('entrepriseId', 64).index().references('entreprises.id').onDelete('CASCADE') - }) - .createTable('utilisateurs__administrations', table => { - table.string('utilisateurId', 64).index().references('utilisateurs.id').onDelete('CASCADE') - table.string('administrationId', 64).index().references('administrations.id').onDelete('CASCADE').onUpdate('CASCADE') - }) - .createTable('etapesTypes__justificatifsTypes', table => { - table.string('etapeTypeId', 3).index().references('etapesTypes.id').notNullable().onDelete('CASCADE') - table.string('documentTypeId', 3).index().references('entreprises__documentsTypes.documentTypeId').notNullable() - table.boolean('optionnel') - table.text('description') - table.primary(['etapeTypeId', 'documentTypeId']) - }) - -export const down = (knex: Knex) => - knex.schema - .dropTable('etapesTypes__justificatifsTypes') - .dropTable('utilisateurs__administrations') - .dropTable('utilisateurs__entreprises') - .dropTable('utilisateurs') - .dropTable('permissions') - .dropTable('entreprisesEtablissements') - .dropTable('entreprises') - .dropTable('administrations__titresTypes') - .dropTable('administrations__titresTypes__titresStatuts') - .dropTable('administrations__titresTypes__etapesTypes') - .dropTable('administrations__activitesTypes') - .dropTable('administrations') - .dropTable('administrationsTypes') diff --git a/packages/api/src/knex/migrations-schema/20180522000001_titres.ts b/packages/api/src/knex/migrations-schema/20180522000001_titres.ts deleted file mode 100644 index c1c069cf086e176a266f33ac0e6c7ed3889dc46a..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180522000001_titres.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.createTable('titres', table => { - table.string('id', 128).primary() - table.string('slug').index() - table.string('nom').notNullable() - table.string('typeId', 3).index().references('titresTypes.id').notNullable() - table.string('domaineId', 1).index().references('domaines.id').notNullable() - table.string('statutId', 3).index().references('titresStatuts.id').notNullable().defaultTo('ind') - table.string('dateDebut', 10) - table.string('dateFin', 10) - table.string('dateDemande', 10) - table.boolean('publicLecture').defaultTo(false) - table.boolean('entreprisesLecture').defaultTo(false) - table.string('doublonTitreId', 128) - table.jsonb('contenusTitreEtapesIds') - table.jsonb('propsTitreEtapesIds').defaultTo({}) - table.specificType('coordonnees', 'POINT') - }) - -export const down = (knex: Knex) => knex.schema.dropTable('titres') diff --git a/packages/api/src/knex/migrations-schema/20180522000002_titres_demarches_etapes.ts b/packages/api/src/knex/migrations-schema/20180522000002_titres_demarches_etapes.ts deleted file mode 100644 index 8a6f7396088afefdf8bfc9b1d22428e8f146b882..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180522000002_titres_demarches_etapes.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => { - return knex.schema - .createTable('titresDemarches', table => { - table.string('id', 128).primary() - table.string('slug').index() - table.string('titreId', 128).notNullable().index() - table.foreign('titreId').references('titres.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('typeId', 3).notNullable().index().references('demarchesTypes.id') - table.string('statutId', 3).notNullable().index().references('demarchesStatuts.id').defaultTo('ind') - table.boolean('publicLecture').defaultTo(false) - table.boolean('entreprisesLecture').defaultTo(false) - table.integer('ordre').defaultTo('0') - }) - .createTable('titresDemarchesLiens', table => { - table.string('enfantTitreDemarcheId', 128).index() - table.foreign('enfantTitreDemarcheId').references('titresDemarches.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('parentTitreDemarcheId', 128).index() - table.foreign('parentTitreDemarcheId').references('titresDemarches.id').onUpdate('CASCADE').onDelete('CASCADE') - table.primary(['enfantTitreDemarcheId', 'parentTitreDemarcheId']) - }) - .createTable('titresPhases', table => { - table.string('titreDemarcheId', 128).primary() - table.foreign('titreDemarcheId').references('titresDemarches.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('statutId', 3).notNullable().references('phasesStatuts.id') - table.string('dateDebut', 10) - table.string('dateFin', 10) - }) - .createTable('titresEtapes', table => { - table.string('id', 128).primary() - table.string('slug').index() - table.string('titreDemarcheId', 128).notNullable().index() - table.foreign('titreDemarcheId').references('titresDemarches.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('typeId', 3).notNullable().index().references('etapesTypes.id') - table.string('statutId', 3).notNullable().index().references('etapesStatuts.id') - table.integer('ordre') - table.string('date', 10).notNullable() - table.string('dateDebut', 10) - table.string('dateFin', 10) - table.integer('duree') - table.float('surface') - table.jsonb('contenu') - table.jsonb('heritageContenu') - table.jsonb('heritageProps') - table.jsonb('incertitudes') - }) -} - -export const down = (knex: Knex) => { - return knex.schema.dropTable('titresEtapes').dropTable('titresPhases').dropTable('titresDemarchesLiens').dropTable('titresDemarches') -} diff --git a/packages/api/src/knex/migrations-schema/20180522000003_titres_etapes_substances_emprises.ts b/packages/api/src/knex/migrations-schema/20180522000003_titres_etapes_substances_emprises.ts deleted file mode 100644 index 410737896e98ab0900e6e14178ffd131f17a924e..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180522000003_titres_etapes_substances_emprises.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => { - return knex.schema.createTable('titresSubstances', table => { - table.string('titreEtapeId', 128).notNullable().index() - table.foreign('titreEtapeId').references('titresEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('substanceId', 4).index().references('substances.id').notNullable() - table.integer('ordre') - table.primary(['titreEtapeId', 'substanceId']) - }) -} - -export const down = (knex: Knex) => { - return knex.schema.dropTable('titresSubstances') -} diff --git a/packages/api/src/knex/migrations-schema/20180522000004_titres_etapes_utilisateurs_titulaires_amodiataires_administrations.ts b/packages/api/src/knex/migrations-schema/20180522000004_titres_etapes_utilisateurs_titulaires_amodiataires_administrations.ts deleted file mode 100644 index 0652883a5f344b14d49f096aaf62d46fe87b429a..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180522000004_titres_etapes_utilisateurs_titulaires_amodiataires_administrations.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => { - return knex.schema - .createTable('titresTitulaires', table => { - table.string('titreEtapeId', 128).notNullable().index() - table.foreign('titreEtapeId').references('titresEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('entrepriseId', 64).index().references('entreprises.id').onUpdate('CASCADE').onDelete('CASCADE').notNullable() - table.boolean('operateur') - table.primary(['titreEtapeId', 'entrepriseId']) - }) - .createTable('titresAmodiataires', table => { - table.string('titreEtapeId', 128).index().references('titresEtapes.id').notNullable().onDelete('CASCADE') - table.string('entrepriseId', 64).index().references('entreprises.id').onUpdate('CASCADE').onDelete('CASCADE').notNullable() - table.boolean('operateur') - table.primary(['titreEtapeId', 'entrepriseId']) - }) - - .createTable('titresAdministrationsGestionnaires', table => { - table.string('titreId', 128).notNullable().index() - table.foreign('titreId').references('titres.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('administrationId', 64).index().references('administrations.id').notNullable().onUpdate('CASCADE').onDelete('CASCADE') - table.boolean('associee') - table.primary(['titreId', 'administrationId']) - }) - .createTable('titresAdministrationsLocales', table => { - table.string('titreEtapeId', 128).notNullable().index() - table.foreign('titreEtapeId').references('titresEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('administrationId', 64).index().references('administrations.id').notNullable().onUpdate('CASCADE').onDelete('CASCADE') - table.boolean('associee') - table.boolean('coordinateur') - table.primary(['titreEtapeId', 'administrationId']) - }) -} - -export const down = (knex: Knex) => { - return knex.schema.dropTable('titresAdministrationsLocales').dropTable('titresAdministrationsGestionnaires').dropTable('titresAmodiataires').dropTable('titresTitulaires') -} diff --git a/packages/api/src/knex/migrations-schema/20180522000005_titres_etapes_points.ts b/packages/api/src/knex/migrations-schema/20180522000005_titres_etapes_points.ts deleted file mode 100644 index 4a390d96b7d61895387d5d03d36502f7bb7310f4..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180522000005_titres_etapes_points.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => { - return knex.schema - .createTable('titresPoints', table => { - table.string('id').primary() - table.string('slug').index() - table.string('titreEtapeId', 128).notNullable().index() - table.foreign('titreEtapeId').references('titresEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.specificType('coordonnees', 'POINT').notNullable() - table.integer('groupe').notNullable() - table.integer('contour').notNullable() - table.integer('point').notNullable() - table.string('nom') - table.text('description') - table.boolean('securite') - table.boolean('subsidiaire') - table.integer('lot') - }) - .createTable('titresPointsReferences', table => { - table.string('id').primary() - table.string('slug').index() - table.string('titrePointId').index().references('titresPoints.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('geoSystemeId', 5).notNullable() - table.specificType('coordonnees', 'POINT').notNullable() - table.boolean('opposable') - }) -} - -export const down = (knex: Knex) => { - return knex.schema.dropTable('titresPointsReferences').dropTable('titresPoints') -} diff --git a/packages/api/src/knex/migrations-schema/20180522000006_titres_etapes_territoires.ts b/packages/api/src/knex/migrations-schema/20180522000006_titres_etapes_territoires.ts deleted file mode 100644 index fed407eee380dfaa851db7a639fe104b2b1c6179..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180522000006_titres_etapes_territoires.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema - .createTable('titresCommunes', table => { - table.string('titreEtapeId', 128).notNullable().index() - table.foreign('titreEtapeId').references('titresEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('communeId', 8).notNullable().index().references('communes.id') - table.integer('surface') - table.primary(['titreEtapeId', 'communeId']) - }) - .createTable('titresForets', table => { - table.string('titreEtapeId', 128).notNullable().index() - table.foreign('titreEtapeId').references('titresEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('foretId', 8).notNullable().index().references('forets.id') - table.integer('surface') - table.primary(['titreEtapeId', 'foretId']) - }) - -export const down = (knex: Knex) => knex.schema.dropTable('titresCommunes').dropTable('titresForets') diff --git a/packages/api/src/knex/migrations-schema/20180522000009_titres_references.ts b/packages/api/src/knex/migrations-schema/20180522000009_titres_references.ts deleted file mode 100644 index c0fd25c1cb885bae307a0623fee0f96e1ddf1002..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20180522000009_titres_references.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => { - return knex.schema.createTable('titresReferences', table => { - table.string('titreId', 128).notNullable().index() - table.foreign('titreId').references('titres.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('typeId', 3).index().references('referencesTypes.id').notNullable() - table.string('nom') - table.primary(['titreId', 'typeId', 'nom']) - }) -} - -export const down = (knex: Knex) => { - return knex.schema.dropTable('titresReferences') -} diff --git a/packages/api/src/knex/migrations-schema/20181106000002_titres_activites.ts b/packages/api/src/knex/migrations-schema/20181106000002_titres_activites.ts deleted file mode 100644 index fa5ddc96e1c67615b7434ee9e0c7dfd8c2f2961e..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20181106000002_titres_activites.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.createTable('titresActivites', table => { - table.string('id').primary() - table.string('slug').index() - table.string('titreId', 128).index().references('titres.id').onDelete('CASCADE').onUpdate('CASCADE') - table.string('utilisateurId', 128).index().references('utilisateurs.id') - table.string('date', 10) - table.string('dateSaisie', 10) - table.jsonb('contenu') - table.specificType('sections', 'jsonb[]') - table.string('typeId', 3).index().references('activitesTypes.id').notNullable() - table.string('statutId', 3).index().references('activitesStatuts.id').notNullable() - table.integer('annee', 4) - table.integer('periodeId', 2) - table.boolean('suppression') - }) - -export const down = (knex: Knex) => knex.schema.dropTable('titresActivites') diff --git a/packages/api/src/knex/migrations-schema/20181106000004_titres_travaux.ts b/packages/api/src/knex/migrations-schema/20181106000004_titres_travaux.ts deleted file mode 100644 index fc842f1078ff69b900a18493483dd52fe5644dbe..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20181106000004_titres_travaux.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema - .createTable('titresTravaux', table => { - table.string('id', 128).primary() - table.string('slug').index() - table.string('titreId', 128).index().references('titres.id').onDelete('CASCADE').onUpdate('CASCADE') - table.string('statutId', 3).index().references('demarchesStatuts.id').defaultTo('ind') - table.string('typeId', 3).index().references('travauxTypes.id') - table.integer('ordre') - }) - .createTable('titresTravauxEtapes', table => { - table.string('id').primary() - table.string('slug').index() - table.string('titreTravauxId', 128).index().references('titresTravaux.id').onDelete('CASCADE').onUpdate('CASCADE') - table.string('statutId', 3).index().references('etapesStatuts.id') - table.string('typeId', 3).index().references('travauxEtapesTypes.id').notNullable() - table.string('date', 10) - table.integer('duree') - table.float('surface') - table.jsonb('contenu') - table.integer('ordre') - }) - -export const down = (knex: Knex) => knex.schema.dropTable('titresActivites') diff --git a/packages/api/src/knex/migrations-schema/20181106000006_documents.ts b/packages/api/src/knex/migrations-schema/20181106000006_documents.ts deleted file mode 100644 index 6fdc9a62e7029485755dc740b3dba1ad958b606a..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20181106000006_documents.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema - .createTable('documents', table => { - table.string('id').primary() - table.string('typeId', 3).index().references('documentsTypes.id').notNullable() - table.string('date', 10).notNullable() - table.string('entrepriseId', 64).index() - table.foreign('entrepriseId').references('entreprises.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('titreEtapeId', 128).index() - table.foreign('titreEtapeId').references('titresEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('description', 1024) - table.string('titreActiviteId', 128).index() - table.foreign('titreActiviteId').references('titresActivites.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('titreTravauxEtapeId', 128).index() - table.foreign('titreTravauxEtapeId').references('titresTravauxEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.boolean('fichier') - table.string('fichierTypeId', 3) - table.string('url', 1024) - table.string('uri', 1024) - table.string('jorf', 32) - table.string('nor', 32) - table.boolean('public_lecture') - table.boolean('entreprises_lecture') - }) - .createTable('titresEtapesJustificatifs', table => { - table.string('titreEtapeId', 128).index() - table.foreign('titreEtapeId').references('titresEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('documentId').index().references('documents.id').notNullable().onUpdate('CASCADE').onDelete('CASCADE') - table.primary(['titreEtapeId', 'documentId']) - }) - -export const down = (knex: Knex) => knex.schema.dropTable('titresEtapesJustificatifs').dropTable('documents') diff --git a/packages/api/src/knex/migrations-schema/20181106000007_definitions.ts b/packages/api/src/knex/migrations-schema/20181106000007_definitions.ts deleted file mode 100644 index 89f9928fec6066e1ed327efa34ff544fa4ca89a3..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20181106000007_definitions.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.createTable('definitions', table => { - table.string('id', 3).primary() - table.string('nom').notNullable() - table.string('slug').notNullable() - table.string('table') - table.integer('ordre').notNullable() - table.text('description') - }) - -export const down = (knex: Knex) => knex.schema.dropTable('definitions') diff --git a/packages/api/src/knex/migrations-schema/20181106000008_cache.ts b/packages/api/src/knex/migrations-schema/20181106000008_cache.ts deleted file mode 100644 index 58e92f7d4fde177be08e333b81fafe5e7bc0ff19..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20181106000008_cache.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.createTable('caches', table => { - table.string('id', 128).primary() - table.jsonb('valeur') - }) - -export const down = (knex: Knex) => knex.schema.dropTable('caches') diff --git a/packages/api/src/knex/migrations-schema/20210915144021_logs.ts b/packages/api/src/knex/migrations-schema/20210915144021_logs.ts deleted file mode 100644 index 9e7625c8b7619dbccff337a6f8716c6b8ad759f9..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20210915144021_logs.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.createTable('logs', table => { - table.string('id').primary() - table.string('utilisateurId').index().notNullable() - table.dateTime('date').notNullable() - table.string('elementId').notNullable() - table.enum('operation', ['create', 'update', 'delete']).notNullable() - table.jsonb('differences').nullable() - }) - -export const down = (knex: Knex) => knex.schema.dropTable('logs') diff --git a/packages/api/src/knex/migrations-schema/20210928170751_travaux_delete.ts b/packages/api/src/knex/migrations-schema/20210928170751_travaux_delete.ts deleted file mode 100644 index 55ead3cdb27bd7998b0af34a096c2bbf1fd50cf2..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20210928170751_travaux_delete.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.table('demarchesTypes', table => { - table.boolean('travaux') - }) - - await knex.schema.table('documents', table => { - table.dropColumn('titre_travaux_etape_id') - }) - - await knex.schema.dropTable('titres_travaux_etapes') - - return knex.schema.dropTable('titres_travaux') -} - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export const down = (knex: Knex) => { - // TODO -} diff --git a/packages/api/src/knex/migrations-schema/20210929153443_metas_travaux_delete.ts b/packages/api/src/knex/migrations-schema/20210929153443_metas_travaux_delete.ts deleted file mode 100644 index b107b48bee644c92647a1e81be21c6110465d7b5..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20210929153443_metas_travaux_delete.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - return knex.schema - .dropTable('travaux_etapes_types__documents_types') - .dropTable('travaux_etapes_types__etapes_statuts') - .dropTable('travaux_types__travaux_etapes_types') - .dropTable('travaux_etapes_types') - .dropTable('travaux_types') -} - -// eslint-disable-next-line @typescript-eslint/no-unused-vars -export const down = (knex: Knex) => { - // TODO -} diff --git a/packages/api/src/knex/migrations-schema/20210930103844_titres_administrations.ts b/packages/api/src/knex/migrations-schema/20210930103844_titres_administrations.ts deleted file mode 100644 index 95d4394813844868d03335169c1c5b7f39ab82b6..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20210930103844_titres_administrations.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.table('titresAdministrationsLocales', table => table.dropColumn('coordinateur')) - - return knex.schema.createTable('titresAdministrations', table => { - table.string('titreId', 128).notNullable().index() - table.foreign('titreId').references('titres.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('administrationId', 128).index().references('administrations.id').notNullable() - table.primary(['titreId', 'administrationId']) - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20211019161848_administrations-activites-types-emails-create.ts b/packages/api/src/knex/migrations-schema/20211019161848_administrations-activites-types-emails-create.ts deleted file mode 100644 index a45d45fce83abd226b9d975b3a1d29b1af59e28a..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20211019161848_administrations-activites-types-emails-create.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.createTable('administrations__activitesTypes__emails', table => { - table.string('activiteTypeId', 3).index().references('activitesTypes.id').notNullable().onDelete('CASCADE') - table.string('administrationId', 64).notNullable().index().references('administrations.id').onDelete('CASCADE') - table.string('email') - table.primary(['administrationId', 'activiteTypeId', 'email']) - }) - - return knex.schema.table('activitesTypes', table => { - table.dropColumn('email') - }) -} - -export const down = (knex: Knex) => knex.schema.dropTable('administrations__activitesTypes__emails') diff --git a/packages/api/src/knex/migrations-schema/20211027103109_logs_column_titreId_add.ts b/packages/api/src/knex/migrations-schema/20211027103109_logs_column_titreId_add.ts deleted file mode 100644 index 06e7b7f9a3c441320ea813c39e74ffa790f6d97a..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20211027103109_logs_column_titreId_add.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex('logs').delete() - await knex.schema.renameTable('logs', 'journaux') - - return knex.schema.table('journaux', table => { - table.string('titreId', 128).notNullable().index() - table.foreign('titreId').references('titres.id').onUpdate('CASCADE').onDelete('CASCADE') - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20211110153616_sdom-zones-create.ts b/packages/api/src/knex/migrations-schema/20211110153616_sdom-zones-create.ts deleted file mode 100644 index 7a5bbbbf68ef7dfcb4b22973a2df969999c84660..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20211110153616_sdom-zones-create.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema - .createTable('sdomZones', table => { - table.string('id', 30).primary() - table.string('nom').notNullable() - }) - .createTable('titres__sdomZones', table => { - table.string('titreEtapeId', 128).notNullable().index() - table.foreign('titreEtapeId').references('titresEtapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.string('sdomZoneId', 30).notNullable().index().references('sdomZones.id') - table.integer('surface') - table.primary(['titreEtapeId', 'sdomZoneId']) - }) - -export const down = (knex: Knex) => knex.schema.dropTable('sdomZones').dropTable('titres__sdomZones') diff --git a/packages/api/src/knex/migrations-schema/20211123162004_utilisateurs-titres_create.ts b/packages/api/src/knex/migrations-schema/20211123162004_utilisateurs-titres_create.ts deleted file mode 100644 index b0697d6530956fc860c03656311221d58ed1a2a9..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20211123162004_utilisateurs-titres_create.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.createTable('utilisateurs__titres', table => { - table.string('utilisateurId').index().references('utilisateurs.id').onDelete('CASCADE') - table.string('titreId').index().references('titres.id').onDelete('CASCADE') - table.primary(['utilisateurId', 'titreId']) - }) - -export const down = (knex: Knex) => knex.schema.dropTable('utilisateurs__titres') diff --git a/packages/api/src/knex/migrations-schema/20220127141738_titres_demarches_description_add.ts b/packages/api/src/knex/migrations-schema/20220127141738_titres_demarches_description_add.ts deleted file mode 100644 index 083a086299615deb37938a144b20de9b6298c4bb..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220127141738_titres_demarches_description_add.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.alterTable('titres_demarches', function (table) { - table.string('description').nullable() - }) - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220216142302_titres_etapes_decisions_annexes.ts b/packages/api/src/knex/migrations-schema/20220216142302_titres_etapes_decisions_annexes.ts deleted file mode 100644 index 5f2d0e3f66e890fafefb02b210dfa55086d0b640..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220216142302_titres_etapes_decisions_annexes.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - return knex.schema.table('titres_etapes', table => { - table.specificType('decisions_annexes_sections', 'jsonb[]') - table.json('decisions_annexes_contenu') - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220308161359_titres_archive_add.ts b/packages/api/src/knex/migrations-schema/20220308161359_titres_archive_add.ts deleted file mode 100644 index bb5ca809288c12b504ac984fe784d92d81261b2e..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220308161359_titres_archive_add.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titres', function (table) { - table.boolean('archive').defaultTo(false).notNullable() - }) - await knex.schema.alterTable('titres_demarches', function (table) { - table.boolean('archive').defaultTo(false).notNullable() - }) - - return knex.schema.alterTable('titres_etapes', function (table) { - table.boolean('archive').defaultTo(false).notNullable() - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220325105157_remove-definitions.ts b/packages/api/src/knex/migrations-schema/20220325105157_remove-definitions.ts deleted file mode 100644 index a76e0f0ff0650c53449560aa3d7b4abd40abf5b7..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220325105157_remove-definitions.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => knex.schema.dropTable('definitions') - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220427075921_administrations_delete.ts b/packages/api/src/knex/migrations-schema/20220427075921_administrations_delete.ts deleted file mode 100644 index abe409839f77e16919fadae9877cfbec5cb3d4bd..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220427075921_administrations_delete.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.table('administrations', table => { - table.dropColumn('nom') - table.dropColumn('abreviation') - table.dropColumn('service') - table.dropColumn('url') - table.dropColumn('email') - table.dropColumn('telephone') - table.dropColumn('adresse1') - table.dropColumn('adresse2') - table.dropColumn('code_postal') - table.dropColumn('commune') - table.dropColumn('cedex') - table.dropForeign('typeid') - }) - - return knex.schema.dropTable('administrations_types') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220511154122_ajoute-date-creation-utilisateur.ts b/packages/api/src/knex/migrations-schema/20220511154122_ajoute-date-creation-utilisateur.ts deleted file mode 100644 index fdbe40ef8cc3a38aa9022376f5bcc4ff148967aa..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220511154122_ajoute-date-creation-utilisateur.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('utilisateurs', function (table) { - table.string('dateCreation') - }) - - await knex('utilisateurs').update({ dateCreation: '1970-01-01' }) - - await knex.schema.alterTable('utilisateurs', function (table) { - table.dropNullable('dateCreation') - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220512121252_supprime-satisfaction-url.ts b/packages/api/src/knex/migrations-schema/20220512121252_supprime-satisfaction-url.ts deleted file mode 100644 index 983d55fa0547a3449e7cab4cea7a4d3593ae1493..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220512121252_supprime-satisfaction-url.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.table('activitesTypes', table => { - table.dropColumn('satisfactionUrl') - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220518064538_geo_systemes_delete.ts b/packages/api/src/knex/migrations-schema/20220518064538_geo_systemes_delete.ts deleted file mode 100644 index 0f67f406e0935cebf8771f0fa4bb096bced5133d..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220518064538_geo_systemes_delete.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - return knex.schema.dropTable('geo_systemes') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220518122355_supprime-devises.ts b/packages/api/src/knex/migrations-schema/20220518122355_supprime-devises.ts deleted file mode 100644 index c3f2936c8917b795f8fe222c5b2be2ebfce4eac6..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220518122355_supprime-devises.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.dropTable('devises') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220531134336_remove-substances-fiscales.ts b/packages/api/src/knex/migrations-schema/20220531134336_remove-substances-fiscales.ts deleted file mode 100644 index a7fa29661e02b4545ed03899be11897344f51704..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220531134336_remove-substances-fiscales.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.dropTable('substancesFiscales') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220601063231_unites_delete.ts b/packages/api/src/knex/migrations-schema/20220601063231_unites_delete.ts deleted file mode 100644 index fba1b821150d7b33fa29f0739ec61a85397ae2cf..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220601063231_unites_delete.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - return knex.schema.dropTable('unites') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220609145846_fix-substances-ordre-required.ts b/packages/api/src/knex/migrations-schema/20220609145846_fix-substances-ordre-required.ts deleted file mode 100644 index 5518fbc8eaa93da3e085f023823779c9cc3831fe..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220609145846_fix-substances-ordre-required.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.raw('CREATE UNIQUE INDEX titre_etape_id_ordre_unique on titres_substances(titre_etape_id, ordre) WHERE ordre IS NOT NULL') - - return knex.raw('CREATE UNIQUE INDEX titre_etape_id_unique on titres_substances(titre_etape_id) WHERE ordre IS NULL') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220613152312_remove-permission.ts b/packages/api/src/knex/migrations-schema/20220613152312_remove-permission.ts deleted file mode 100644 index 99e0c82b679fc8761ee0198b9dd3de1ea58a7f77..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220613152312_remove-permission.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('utilisateurs', function (table) { - table.dropIndex('permission_id', 'utilisateurs_permissionid_index') - table.dropForeign('permission_id', 'utilisateurs_permissionid_foreign') - }) - await knex.schema.table('utilisateurs', table => { - table.renameColumn('permission_id', 'role') - }) - - await knex.schema.alterTable('utilisateurs', function (t) { - t.string('role', 255).notNullable().alter() - }) - - return knex.schema.dropTable('permissions') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220616132604_utilisateurs-administrations-delete.ts b/packages/api/src/knex/migrations-schema/20220616132604_utilisateurs-administrations-delete.ts deleted file mode 100644 index 0398ba462849f9dcc362a0af2835fd006c956367..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220616132604_utilisateurs-administrations-delete.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.table('utilisateurs', table => { - table.string('administrationId').index().references('administrations.id') - }) - - const utilisateursAdministrations = await knex('utilisateurs__administrations') - - for (const { utilisateurId, administrationId } of utilisateursAdministrations) { - await knex('utilisateurs').where('id', utilisateurId).update({ administrationId }) - } - - return knex.schema.dropTable('utilisateurs__administrations') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220704122849_territoires-delete.ts b/packages/api/src/knex/migrations-schema/20220704122849_territoires-delete.ts deleted file mode 100644 index 9bcb7315c6b989f6a22667882dcb1ced8025f353..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220704122849_territoires-delete.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('activitesTypes__pays', function (table) { - table.dropIndex('pays_id', 'activitestypes__pays_paysid_index') - table.dropForeign('pays_id', 'activitestypes__pays_paysid_foreign') - }) - - await knex.schema.alterTable('communes', function (table) { - table.dropIndex('departement_id', 'communes_departementid_index') - table.dropForeign('departement_id', 'communes_departementid_foreign') - }) - - await knex.schema.alterTable('administrations', function (table) { - table.dropForeign('departement_id', 'administrations_departementid_foreign') - table.dropForeign('region_id', 'administrations_regionid_foreign') - }) - - await knex.schema.dropTable('departements') - await knex.schema.dropTable('regions') - - return knex.schema.dropTable('pays') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220705125716_administration-delete.ts b/packages/api/src/knex/migrations-schema/20220705125716_administration-delete.ts deleted file mode 100644 index 82649973af8f1f580ac0f0e631a5033e3e5f45a0..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220705125716_administration-delete.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.alterTable('administrations', function (table) { - table.dropColumns('departement_id', 'region_id', 'type_id') - }) - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220706145651_titres-titres-create.ts b/packages/api/src/knex/migrations-schema/20220706145651_titres-titres-create.ts deleted file mode 100644 index 17122220b87ebbeaf7c1001a2678f7d5a4fece7d..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220706145651_titres-titres-create.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.createTable('titres__titres', table => { - table.string('titreFromId').notNullable().index() - table.string('titreToId').notNullable().index() - table.foreign('titreFromId').references('titres.id') - table.foreign('titreToId').references('titres.id') - table.primary(['titreFromId', 'titreToId']) - }) - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220727082824_supprime-etapes-statuts.ts b/packages/api/src/knex/migrations-schema/20220727082824_supprime-etapes-statuts.ts deleted file mode 100644 index a3e869b7a0dbc7161d258dda5acf549402632553..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220727082824_supprime-etapes-statuts.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titres_etapes', function (table) { - table.dropForeign('statut_id', 'titresetapes_statutid_foreign') - }) - await knex.schema.dropTable('etapes_types__etapes_statuts') - await knex.schema.dropTable('etapes_statuts') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220810150111_substances-legales-code-delete.ts b/packages/api/src/knex/migrations-schema/20220810150111_substances-legales-code-delete.ts deleted file mode 100644 index ce05503ab9e923ae0f385da0736527a4f9fdb179..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220810150111_substances-legales-code-delete.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('substancesLegales', function (table) { - table.dropColumn('substanceLegaleCodeId') - }) - - return knex.schema.dropTable('substancesLegalesCodes') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220816143105_substances-delete.ts b/packages/api/src/knex/migrations-schema/20220816143105_substances-delete.ts deleted file mode 100644 index 3c3e4544dcbbbc026f884269b0effeee733cec92..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220816143105_substances-delete.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titres_substances', function (table) { - table.dropForeign('substance_id', 'titressubstances_substanceid_foreign') - table.integer('ordre').notNullable().alter() - }) - - await knex.raw('DROP INDEX titre_etape_id_unique') - await knex.raw('DROP INDEX titre_etape_id_ordre_unique') - await knex.raw('CREATE UNIQUE INDEX titre_etape_id_ordre_unique on titres_substances(titre_etape_id, ordre)') - - await knex.schema.dropTable('substances__substances_legales') - await knex.schema.dropTable('substances_legales') - await knex.schema.dropTable('substances') - - await knex('titres_substances').where('substance_id', 'suco').update({ substance_id: 'scoc' }) - - await knex('titres_substances').where('substance_id', 'scor').update({ substance_id: 'scoc' }) - - await knex('titres_substances').where('substance_id', 'bitm').update({ substance_id: 'hydm' }) - - await knex('titres_substances').where('substance_id', 'hydl').update({ substance_id: 'hydo' }) - - await knex.schema.alterTable('titres_etapes', function (table) { - table.jsonb('substances').index() - }) - const titresSubstances = await knex('titres_substances') - - const substanceIdsByTitre: Record<string, { ordre: number; substanceId: string }[]> = titresSubstances.reduce((acc, ts) => { - if (!acc[ts.titreEtapeId]) { - acc[ts.titreEtapeId] = [] - } - acc[ts.titreEtapeId].push(ts) - - return acc - }, {}) - - for (const titreEtapeId in substanceIdsByTitre) { - await knex('titres_etapes') - .where('id', titreEtapeId) - .update({ - substances: JSON.stringify(substanceIdsByTitre[titreEtapeId].sort((a, b) => a.ordre - b.ordre).map(({ substanceId }) => substanceId)), - }) - } - - await knex.schema.dropTable('titres_substances') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220819154128_supprime-frequences.ts b/packages/api/src/knex/migrations-schema/20220819154128_supprime-frequences.ts deleted file mode 100644 index 78a8936850a8392c06675a48eacae38f5052d971..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220819154128_supprime-frequences.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('activites_types', function (table) { - table.dropForeign('frequence_id', 'activitestypes_frequenceid_foreign') - }) - - await knex.schema.dropTable('annees') - await knex.schema.dropTable('mois') - await knex.schema.dropTable('trimestres') - - return knex.schema.dropTable('frequences') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220825083849_territoires-create.ts b/packages/api/src/knex/migrations-schema/20220825083849_territoires-create.ts deleted file mode 100644 index 96957b19efa58b99d4233abb384aa2b6f639d883..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220825083849_territoires-create.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.raw('alter table communes ADD COLUMN geometry geometry(Multipolygon,4326)') - await knex.raw('alter table forets ADD COLUMN geometry geometry(Multipolygon,4326)') - await knex.raw('alter table sdom_zones ADD COLUMN geometry geometry(Multipolygon,4326)') - - await knex.raw('CREATE INDEX index_geo_communes on communes using spgist (geometry)') - await knex.raw('CREATE INDEX index_geo_forets on forets using spgist (geometry)') - await knex.raw('CREATE INDEX index_geo_sdom_zones on sdom_zones using spgist (geometry)') - - await knex.schema.alterTable('titres_forets', table => { - table.dropColumn('surface') - }) - - await knex.schema.alterTable('titres__sdom_zones', table => { - table.dropColumn('surface') - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220830095725_supprime-newsletter.ts b/packages/api/src/knex/migrations-schema/20220830095725_supprime-newsletter.ts deleted file mode 100644 index f8f5d065da82f52fc9e58ad10d71d172a0398f9f..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220830095725_supprime-newsletter.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.alterTable('utilisateurs', table => { - table.dropColumn('newsletter') - }) - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220901075840_demarches-statuts-delete.ts b/packages/api/src/knex/migrations-schema/20220901075840_demarches-statuts-delete.ts deleted file mode 100644 index ac722fa2065f2d00cb175160dbf5ee5cebe9f7b4..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220901075840_demarches-statuts-delete.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titresDemarches', function (table) { - table.dropForeign('statutId') - }) - - return knex.schema.dropTable('demarchesStatuts') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220905073826_deplace-donnees-postgis-hors-objection.ts b/packages/api/src/knex/migrations-schema/20220905073826_deplace-donnees-postgis-hors-objection.ts deleted file mode 100644 index c1b5b945b1c1cccb23f284cb0c2fb96369fd2544..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220905073826_deplace-donnees-postgis-hors-objection.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.raw('alter table communes DROP COLUMN geometry') - await knex.raw('alter table forets DROP COLUMN geometry') - await knex.raw('alter table sdom_zones DROP COLUMN geometry') - - await knex.raw( - `create table communes_postgis( - id varchar(5) primary key, - geometry geometry(Multipolygon,4326) - )` - ) - await knex.raw( - `create table forets_postgis( - id varchar(30) primary key, - geometry geometry(Multipolygon,4326) - )` - ) - - await knex.raw( - `create table sdom_zones_postgis( - id varchar(30) primary key, - geometry geometry(Multipolygon,4326) - )` - ) - - await knex.raw('CREATE INDEX index_geo_communes on communes_postgis using spgist (geometry)') - await knex.raw('CREATE INDEX index_geo_forets on forets_postgis using spgist (geometry)') - await knex.raw('CREATE INDEX index_geo_sdom_zones on sdom_zones_postgis using spgist (geometry)') -} -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220906125338_les-substances-dune-etapes-ne-sont-jamais-nul.ts b/packages/api/src/knex/migrations-schema/20220906125338_les-substances-dune-etapes-ne-sont-jamais-nul.ts deleted file mode 100644 index 0a7597c1bd1b6bedf6dacdf8d7271fa817d11b8d..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220906125338_les-substances-dune-etapes-ne-sont-jamais-nul.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.raw("update titres_etapes set substances='[]'::jsonb where substances is null") - await knex.raw("alter table titres_etapes alter column substances set default '[]'::jsonb") - await knex.raw('alter table titres_etapes alter column substances set not null') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220907070928_supprime-titres-statuts.ts b/packages/api/src/knex/migrations-schema/20220907070928_supprime-titres-statuts.ts deleted file mode 100644 index 34952085ff69b7f456f07112ed57ff6e83937c4d..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220907070928_supprime-titres-statuts.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('administrations__titres_types__titres_statuts', function (table) { - table.dropForeign('titre_statut_id', 'administrations__titrestypes__titresstatuts_titrestatutid_forei') - }) - await knex.schema.alterTable('titres_types__titres_statuts', function (table) { - table.dropForeign('titre_statut_id', 'titrestypes__titresstatuts_titrestatutid_foreign') - }) - await knex.schema.alterTable('titres', function (table) { - table.dropForeign('statut_id', 'titres_statutid_foreign') - table.renameColumn('statut_id', 'titre_statut_id') - }) - - await knex.schema.dropTable('titres_statuts') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20220930084703_supprime-phases-statuts.ts b/packages/api/src/knex/migrations-schema/20220930084703_supprime-phases-statuts.ts deleted file mode 100644 index 5ffd344742e3baeaefd1c5e2a6508769a07ce459..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20220930084703_supprime-phases-statuts.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titres_phases', function (table) { - table.dropForeign('statut_id', 'titresphases_statutid_foreign') - }) - await knex.schema.alterTable('titres_phases', function (table) { - table.renameColumn('statut_id', 'phase_statut_id') - }) - - await knex.schema.dropTable('phases_statuts') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221004061133_globales-delete.ts b/packages/api/src/knex/migrations-schema/20221004061133_globales-delete.ts deleted file mode 100644 index 3aea7884b4ab892facc08fd4d8777157e76a730e..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221004061133_globales-delete.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => knex.schema.dropTable('globales') - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221004061444_references-delete.ts b/packages/api/src/knex/migrations-schema/20221004061444_references-delete.ts deleted file mode 100644 index 99fee9cc540bbb6c49f324287ada2db1e8d798c2..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221004061444_references-delete.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titresReferences', function (table) { - table.dropForeign('type_id', 'titresreferences_typeid_foreign') - }) - - await knex.schema.alterTable('titresReferences', function (table) { - table.renameColumn('type_id', 'reference_type_id') - }) - - await knex.schema.alterTable('titres', function (table) { - table.jsonb('references').index() - }) - const titresReferences = await knex('titres_references').orderBy('referenceTypeId', 'nom') - - const referencesByTitre = titresReferences.reduce((acc, titreReference) => { - if (!acc[titreReference.titreId]) { - acc[titreReference.titreId] = [] - } - acc[titreReference.titreId].push({ - nom: titreReference.nom, - referenceTypeId: titreReference.referenceTypeId, - }) - - return acc - }, {}) - - for (const titreId in referencesByTitre) { - await knex('titres') - .where('id', titreId) - .update({ - references: JSON.stringify(referencesByTitre[titreId]), - }) - } - - await knex.schema.dropTable('titresReferences') - await knex.schema.dropTable('referencesTypes') - await knex.raw('update titres set "references"=\'[]\'::jsonb where "references" is null') - await knex.raw('alter table titres alter column "references" set default \'[]\'::jsonb') - await knex.raw('alter table titres alter column "references" set not null') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221012094400_utilisateur-qgis-token.ts b/packages/api/src/knex/migrations-schema/20221012094400_utilisateur-qgis-token.ts deleted file mode 100644 index b3936062285372254989aa57d4d3ed29d1e1ce7c..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221012094400_utilisateur-qgis-token.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Knex } from 'knex' -export const up = (knex: Knex) => - knex.schema.alterTable('utilisateurs', function (table) { - table.string('qgis_token').index() - }) - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221012121906_add-facades-maritimes.ts b/packages/api/src/knex/migrations-schema/20221012121906_add-facades-maritimes.ts deleted file mode 100644 index 523b1dcb8739749d6a0eac1c49ec14108e7f3583..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221012121906_add-facades-maritimes.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.createTable('secteurs_maritime', table => { - table.integer('id').primary() - table.string('nom') - table.string('facade') - }) - - await knex.raw( - `create table secteurs_maritime_postgis( - id integer primary key, - geometry geometry(MultiPolygon,4326), - FOREIGN KEY (id) - REFERENCES secteurs_maritime (id) - )` - ) - - await knex.raw('CREATE INDEX index_geo_secteurs_maritime on secteurs_maritime_postgis using spgist (geometry)') - - await knex.schema.createTable('titres__secteurs_maritime', table => { - table.string('titre_etape_id', 128).notNullable().index() - table.foreign('titre_etape_id').references('titres_etapes.id').onUpdate('CASCADE').onDelete('CASCADE') - table.integer('secteur_maritime_id').notNullable().index().references('secteurs_maritime.id') - table.primary(['titre_etape_id', 'secteur_maritime_id']) - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221017122409_tde-static.ts b/packages/api/src/knex/migrations-schema/20221017122409_tde-static.ts deleted file mode 100644 index 9293b1e988005aa30f96f502d3b16a3a81e0c6ce..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221017122409_tde-static.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex('activites_types__documents_types').where('document_type_id', 'rwp').update({ documentTypeId: 'rgr' }) - - await knex('documents').where('type_id', 'rwp').update({ typeId: 'rgr' }) - - await knex('documents_types').where('id', 'rwp').delete() - - await knex.schema.dropTable('etapes_types__documents_types') - await knex.schema.dropTable('titresTypes__demarchesTypes__etapesTypes__documentsTypes') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221017132033_administrations-titres-types-delete.ts b/packages/api/src/knex/migrations-schema/20221017132033_administrations-titres-types-delete.ts deleted file mode 100644 index 26bf12bed8f0684111056df5cec16dd66c9a18cf..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221017132033_administrations-titres-types-delete.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => knex.schema.dropTable('administrations__titresTypes') - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221020141021_supprime-secteurs-maritimes.ts b/packages/api/src/knex/migrations-schema/20221020141021_supprime-secteurs-maritimes.ts deleted file mode 100644 index 0d817ba8c7db0f40063edb5d23b2cf17bce45719..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221020141021_supprime-secteurs-maritimes.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('secteurs_maritime_postgis', function (table) { - table.dropForeign('id', 'secteurs_maritime_postgis_id_fkey') - }) - await knex.schema.dropTable('titres__secteurs_maritime') - await knex.schema.dropTable('secteurs_maritime') - - await knex.schema.alterTable('titres_etapes', function (table) { - table.jsonb('secteurs_maritime').index() - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221021121056_delete-titres-administrations.ts b/packages/api/src/knex/migrations-schema/20221021121056_delete-titres-administrations.ts deleted file mode 100644 index 343964d2780fe44e14dc09914e93e2fc6a953d91..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221021121056_delete-titres-administrations.ts +++ /dev/null @@ -1,26 +0,0 @@ -/* eslint-disable sql/no-unsafe-query */ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titres_etapes', function (table) { - table.jsonb('administrations_locales').index() - }) - - await knex.raw("update titres set props_titre_etapes_ids = props_titre_etapes_ids - 'administrations'") - await knex.raw(`update titres_etapes te set administrations_locales = ( - select administrations from ( - select - titre_etape_id, - jsonb_agg(administration_id) as administrations - from ( - select * from titres_administrations_locales order by titre_etape_id, administration_id - ) tal - group by titre_etape_id - ) titre_etape_to_update where titre_etape_id = te.id - );`) - - await knex.schema.dropTable('titresAdministrationsLocales') - - return knex.schema.dropTable('titresAdministrations') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221102162801_delete-titres-types-titres-statuts.ts b/packages/api/src/knex/migrations-schema/20221102162801_delete-titres-types-titres-statuts.ts deleted file mode 100644 index 80512ff09fafcd300b4de35826956a29b62e8352..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221102162801_delete-titres-types-titres-statuts.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.dropTable('titres_types__titres_statuts') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221114135447_delete-useless-columns-etapes-types.ts b/packages/api/src/knex/migrations-schema/20221114135447_delete-useless-columns-etapes-types.ts deleted file mode 100644 index 55c23db3ef9c1e31bf53dc3ec95de8703e64359c..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221114135447_delete-useless-columns-etapes-types.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - // colonnes qui servent à rien dans la table etapes_types : - // - parent_id - // - legal_ref - // - legal_lien - // - date_debut - await knex.schema.alterTable('etapes_types', function (table) { - table.dropColumn('parent_id') - table.dropColumn('legal_ref') - table.dropColumn('legal_lien') - table.dropColumn('date_debut') - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221116133048_delete-titres-administrations-gestionnaire.ts b/packages/api/src/knex/migrations-schema/20221116133048_delete-titres-administrations-gestionnaire.ts deleted file mode 100644 index 06e6dce9bc55ced6d214f2f68793cbf41ea5c3f9..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221116133048_delete-titres-administrations-gestionnaire.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - return knex.schema.dropTable('titres_administrations_gestionnaires') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20221229082906_migre-sdomzones.ts b/packages/api/src/knex/migrations-schema/20221229082906_migre-sdomzones.ts deleted file mode 100644 index c6a64f7dce79a64ba867e90af1ae168c29c40f81..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20221229082906_migre-sdomzones.ts +++ /dev/null @@ -1,23 +0,0 @@ -/* eslint-disable sql/no-unsafe-query */ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titres_etapes', function (table) { - table.jsonb('sdom_zones').index() - }) - await knex.raw(`update titres_etapes te set sdom_zones = ( - select sdom from ( - select - titre_etape_id, - jsonb_agg(sdom_zone_id) as sdom - from ( - select * from titres__sdom_zones order by titre_etape_id, sdom_zone_id - ) tal - group by titre_etape_id - ) titre_etape_to_update where titre_etape_id = te.id - );`) - - await knex.schema.dropTable('titres__sdom_zones') - await knex.schema.dropTable('sdom_zones') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20230105090114_delete-activites-statuts.ts b/packages/api/src/knex/migrations-schema/20230105090114_delete-activites-statuts.ts deleted file mode 100644 index f52505ba0b1ee4a4d962bb8bee3dc0ce133cfe39..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20230105090114_delete-activites-statuts.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { Knex } from 'knex' -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titres_activites', function (table) { - table.dropForeign('statut_id', 'titresactivites_statutid_foreign') - }) - await knex.schema.alterTable('titres_activites', function (table) { - table.renameColumn('statut_id', 'activite_statut_id') - }) - - await knex.schema.dropTable('activites_statuts') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20230124143910_delete-titre-domaine-id.ts b/packages/api/src/knex/migrations-schema/20230124143910_delete-titre-domaine-id.ts deleted file mode 100644 index b173001d227f865fb539d7f721ce322ec52fa16c..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20230124143910_delete-titre-domaine-id.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.schema.alterTable('titres', function (table) { - table.dropForeign('domaine_id', 'titres_domaineid_foreign') - table.dropIndex('domaine_id', 'titres_domaineid_index') - table.dropColumn('domaine_id') - }) -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20230201154720_mot-de-passe-remove-constraint.ts b/packages/api/src/knex/migrations-schema/20230201154720_mot-de-passe-remove-constraint.ts deleted file mode 100644 index 962c6f435e314d5a75530391fa5d7cf3be2c38ef..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20230201154720_mot-de-passe-remove-constraint.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.raw('alter table utilisateurs alter column "mot_de_passe" drop not null') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20230208145704_supprime-titresTypes-demarchesTypes.ts b/packages/api/src/knex/migrations-schema/20230208145704_supprime-titresTypes-demarchesTypes.ts deleted file mode 100644 index f26da6a4be531efc11b9b95454423e10e18f2903..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20230208145704_supprime-titresTypes-demarchesTypes.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - return knex.schema.dropTable('titres_types__demarches_types') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20230309090214_utilisateurs-password-delete.ts b/packages/api/src/knex/migrations-schema/20230309090214_utilisateurs-password-delete.ts deleted file mode 100644 index b14ed7a0d15ce01f3781585c90175c1cac1411a3..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20230309090214_utilisateurs-password-delete.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.raw('alter table utilisateurs drop column "mot_de_passe"') - await knex.raw('alter table utilisateurs drop column "preferences"') - await knex.raw('alter table utilisateurs drop column "refresh_token"') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20230403155351_delete-administrations-titreType.ts b/packages/api/src/knex/migrations-schema/20230403155351_delete-administrations-titreType.ts deleted file mode 100644 index 41a95105a5c2d57219ac5ab9d970c05a06a7ad6c..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20230403155351_delete-administrations-titreType.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.schema.dropTable('administrations__titresTypes__titresStatuts') - - return knex.schema.dropTable('administrations__titresTypes__etapesTypes') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20230406130205_delete-titres-phases.ts b/packages/api/src/knex/migrations-schema/20230406130205_delete-titres-phases.ts deleted file mode 100644 index a0e510f45d8781f4bd4a9f1956f757e3d649f551..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20230406130205_delete-titres-phases.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.schema.raw('ALTER TABLE public.titres_demarches ADD demarche_date_debut varchar(10) NULL;') - await knex.schema.raw('ALTER TABLE public.titres_demarches ADD demarche_date_fin varchar(10) NULL;') - await knex.raw('update titres_demarches td set demarche_date_debut = ( select date_debut from titres_phases where titre_demarche_id = td.id)') - await knex.raw('update titres_demarches td set demarche_date_fin = ( select date_fin from titres_phases where titre_demarche_id = td.id)') - - return knex.schema.dropTable('titres_phases') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20230420072743_supprime-securite.ts b/packages/api/src/knex/migrations-schema/20230420072743_supprime-securite.ts deleted file mode 100644 index e99f6314d9435c47db8ceb11a5d4bbceccb6ae88..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20230420072743_supprime-securite.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.raw('alter table titres_points drop column "securite"') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations-schema/20230420123259_delete-titres-dates.ts b/packages/api/src/knex/migrations-schema/20230420123259_delete-titres-dates.ts deleted file mode 100644 index 0b79fc45ac86c518976ae89591469b40ad783198..0000000000000000000000000000000000000000 --- a/packages/api/src/knex/migrations-schema/20230420123259_delete-titres-dates.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { Knex } from 'knex' - -export const up = async (knex: Knex) => { - await knex.raw('alter table titres drop column "date_debut"') - await knex.raw('alter table titres drop column "date_fin"') - await knex.raw('alter table titres drop column "date_demande"') -} - -export const down = () => ({}) diff --git a/packages/api/src/knex/migrations/20230413090214_init.ts b/packages/api/src/knex/migrations/20230413090214_init.ts new file mode 100644 index 0000000000000000000000000000000000000000..b920d16e8bebbb52a76193ec89d8960acca4f67c --- /dev/null +++ b/packages/api/src/knex/migrations/20230413090214_init.ts @@ -0,0 +1,12 @@ +import { Knex } from 'knex' +import { readFile } from 'node:fs/promises' +import path, { join } from 'node:path' +import { fileURLToPath } from 'url' + +export const up = async (knex: Knex) => { + const __dirname = path.dirname(fileURLToPath(import.meta.url)) + const sql = await readFile(join(__dirname, './20230413090214_init_schema.sql'), { encoding: 'utf-8' }) + await knex.raw(sql) +} + +export const down = () => ({}) diff --git a/packages/api/src/knex/migrations/20230413090214_init_schema.sql b/packages/api/src/knex/migrations/20230413090214_init_schema.sql new file mode 100644 index 0000000000000000000000000000000000000000..db55c06f610e7e4360eca7969f4a699095686fb6 --- /dev/null +++ b/packages/api/src/knex/migrations/20230413090214_init_schema.sql @@ -0,0 +1,657 @@ +SET default_tablespace = ''; +SET default_table_access_method = heap; +CREATE EXTENSION IF NOT EXISTS postgis; +CREATE TABLE public.activites_types ( + id character varying(3) NOT NULL, + nom character varying(255) NOT NULL, + sections jsonb[] NOT NULL, + frequence_id character varying(3) NOT NULL, + date_debut character varying(255) NOT NULL, + delai_mois integer, + ordre integer NOT NULL, + description text +); +ALTER TABLE public.activites_types OWNER TO postgres; +CREATE TABLE public.activites_types__documents_types ( + activite_type_id character varying(3) NOT NULL, + document_type_id character varying(3) NOT NULL, + optionnel boolean +); +ALTER TABLE public.activites_types__documents_types OWNER TO postgres; +CREATE TABLE public.activites_types__pays ( + pays_id character varying(3) NOT NULL, + activite_type_id character varying(3) NOT NULL +); +ALTER TABLE public.activites_types__pays OWNER TO postgres; +CREATE TABLE public.activites_types__titres_types ( + titre_type_id character varying(3) NOT NULL, + activite_type_id character varying(3) NOT NULL +); +ALTER TABLE public.activites_types__titres_types OWNER TO postgres; +CREATE TABLE public.administrations ( + id character varying(64) NOT NULL +); +ALTER TABLE public.administrations OWNER TO postgres; +CREATE TABLE public.administrations__activites_types ( + activite_type_id character varying(3) NOT NULL, + administration_id character varying(64) NOT NULL, + modification_interdit boolean, + lecture_interdit boolean +); +ALTER TABLE public.administrations__activites_types OWNER TO postgres; +CREATE TABLE public.administrations__activites_types__emails ( + activite_type_id character varying(3) NOT NULL, + administration_id character varying(64) NOT NULL, + email character varying(255) NOT NULL +); +ALTER TABLE public.administrations__activites_types__emails OWNER TO postgres; +CREATE TABLE public.caches ( + id character varying(128) NOT NULL, + valeur jsonb +); +ALTER TABLE public.caches OWNER TO postgres; +CREATE TABLE public.communes ( + id character varying(5) NOT NULL, + nom character varying(255) NOT NULL, + departement_id character varying(3) NOT NULL +); +ALTER TABLE public.communes OWNER TO postgres; +CREATE TABLE public.communes_postgis ( + id character varying(5) NOT NULL, + geometry public.geometry(MultiPolygon,4326) +); +ALTER TABLE public.communes_postgis OWNER TO postgres; +CREATE TABLE public.demarches_types ( + id character varying(3) NOT NULL, + nom character varying(255) NOT NULL, + description text, + ordre integer, + duree boolean, + points boolean, + substances boolean, + titulaires boolean, + renouvelable boolean, + exception boolean, + auto boolean, + travaux boolean +); +ALTER TABLE public.demarches_types OWNER TO postgres; +CREATE TABLE public.documents ( + id character varying(255) NOT NULL, + type_id character varying(3) NOT NULL, + date character varying(10) NOT NULL, + entreprise_id character varying(64), + titre_etape_id character varying(128), + description character varying(1024), + titre_activite_id character varying(128), + fichier boolean, + fichier_type_id character varying(3), + url character varying(1024), + uri character varying(1024), + jorf character varying(32), + nor character varying(32), + public_lecture boolean, + entreprises_lecture boolean +); +ALTER TABLE public.documents OWNER TO postgres; +CREATE TABLE public.documents_types ( + id character varying(3) NOT NULL, + nom character varying(255) NOT NULL, + description text +); +ALTER TABLE public.documents_types OWNER TO postgres; +CREATE TABLE public.domaines ( + id character varying(1) NOT NULL, + nom character varying(255) NOT NULL, + description text, + ordre integer NOT NULL +); +ALTER TABLE public.domaines OWNER TO postgres; +CREATE TABLE public.entreprises ( + id character varying(64) NOT NULL, + nom character varying(255) NOT NULL, + pays_id character varying(255), + legal_siren character varying(255), + legal_etranger character varying(255), + legal_forme character varying(255), + categorie character varying(255), + date_creation character varying(10), + adresse character varying(255), + code_postal character varying(255), + commune character varying(255), + cedex character varying(255), + url character varying(1024), + email character varying(255), + telephone character varying(255), + archive boolean DEFAULT false +); +ALTER TABLE public.entreprises OWNER TO postgres; +CREATE TABLE public.entreprises__documents_types ( + document_type_id character varying(3) NOT NULL +); +ALTER TABLE public.entreprises__documents_types OWNER TO postgres; +CREATE TABLE public.entreprises_etablissements ( + id character varying(64) NOT NULL, + entreprise_id character varying(64) NOT NULL, + nom character varying(255), + legal_siret character varying(255), + date_debut character varying(10), + date_fin character varying(10) +); +ALTER TABLE public.entreprises_etablissements OWNER TO postgres; +CREATE TABLE public.etapes_types ( + id character varying(3) NOT NULL, + nom character varying(128), + description text, + ordre integer NOT NULL, + fondamentale boolean, + "unique" boolean, + acceptation_auto boolean, + date_fin character varying(10), + sections jsonb[], + public_lecture boolean, + entreprises_lecture boolean +); +ALTER TABLE public.etapes_types OWNER TO postgres; +CREATE TABLE public.etapes_types__justificatifs_types ( + etape_type_id character varying(3) NOT NULL, + document_type_id character varying(3) NOT NULL, + optionnel boolean, + description text +); +ALTER TABLE public.etapes_types__justificatifs_types OWNER TO postgres; +CREATE TABLE public.forets ( + id character varying(30) NOT NULL, + nom character varying(255) NOT NULL +); +ALTER TABLE public.forets OWNER TO postgres; +CREATE TABLE public.forets_postgis ( + id character varying(30) NOT NULL, + geometry public.geometry(MultiPolygon,4326) +); +ALTER TABLE public.forets_postgis OWNER TO postgres; +CREATE TABLE public.journaux ( + id character varying(255) NOT NULL, + utilisateur_id character varying(255) NOT NULL, + date timestamp with time zone NOT NULL, + element_id character varying(255) NOT NULL, + operation text NOT NULL, + differences jsonb, + titre_id character varying(128) NOT NULL, + CONSTRAINT logs_operation_check CHECK ((operation = ANY (ARRAY['create'::text, 'update'::text, 'delete'::text]))) +); +ALTER TABLE public.journaux OWNER TO postgres; +CREATE TABLE public.sdom_zones_postgis ( + id character varying(30) NOT NULL, + geometry public.geometry(MultiPolygon,4326) +); +ALTER TABLE public.sdom_zones_postgis OWNER TO postgres; +CREATE TABLE public.secteurs_maritime_postgis ( + id integer NOT NULL, + geometry public.geometry(MultiPolygon,4326) +); +ALTER TABLE public.secteurs_maritime_postgis OWNER TO postgres; +CREATE TABLE public.titres ( + id character varying(128) NOT NULL, + nom character varying(255) NOT NULL, + type_id character varying(3) NOT NULL, + titre_statut_id character varying(3) DEFAULT 'ind'::character varying NOT NULL, + public_lecture boolean DEFAULT false, + entreprises_lecture boolean DEFAULT false, + doublon_titre_id character varying(128), + contenus_titre_etapes_ids jsonb, + coordonnees point, + props_titre_etapes_ids jsonb DEFAULT '{}'::jsonb, + slug character varying(255), + archive boolean DEFAULT false NOT NULL, + "references" jsonb DEFAULT '[]'::jsonb NOT NULL +); +ALTER TABLE public.titres OWNER TO postgres; +CREATE TABLE public.titres__titres ( + titre_from_id character varying(255) NOT NULL, + titre_to_id character varying(255) NOT NULL +); +ALTER TABLE public.titres__titres OWNER TO postgres; +CREATE TABLE public.titres_activites ( + id character varying(255) NOT NULL, + titre_id character varying(128), + utilisateur_id character varying(128), + date character varying(10), + date_saisie character varying(10), + contenu jsonb, + type_id character varying(3) NOT NULL, + activite_statut_id character varying(3) NOT NULL, + annee integer NOT NULL, + periode_id integer, + sections jsonb[], + suppression boolean, + slug character varying(255) +); +ALTER TABLE public.titres_activites OWNER TO postgres; +CREATE TABLE public.titres_amodiataires ( + titre_etape_id character varying(128) NOT NULL, + entreprise_id character varying(64) NOT NULL, + operateur boolean +); +ALTER TABLE public.titres_amodiataires OWNER TO postgres; +CREATE TABLE public.titres_communes ( + titre_etape_id character varying(128) NOT NULL, + commune_id character varying(8) NOT NULL, + surface integer +); +ALTER TABLE public.titres_communes OWNER TO postgres; +CREATE TABLE public.titres_demarches ( + id character varying(128) NOT NULL, + titre_id character varying(128) NOT NULL, + type_id character varying(3) NOT NULL, + statut_id character varying(3) DEFAULT 'ind'::character varying NOT NULL, + public_lecture boolean DEFAULT false, + entreprises_lecture boolean DEFAULT false, + ordre integer DEFAULT 0, + slug character varying(255), + demarche_date_debut character varying(10), + demarche_date_fin character varying(10), + description character varying(255), + archive boolean DEFAULT false NOT NULL +); +ALTER TABLE public.titres_demarches OWNER TO postgres; +CREATE TABLE public.titres_demarches_liens ( + enfant_titre_demarche_id character varying(128) NOT NULL, + parent_titre_demarche_id character varying(128) NOT NULL +); +ALTER TABLE public.titres_demarches_liens OWNER TO postgres; +CREATE TABLE public.titres_etapes ( + id character varying(128) NOT NULL, + titre_demarche_id character varying(128) NOT NULL, + type_id character varying(3) NOT NULL, + statut_id character varying(3) NOT NULL, + ordre integer, + date character varying(10) NOT NULL, + date_debut character varying(10), + date_fin character varying(10), + duree integer, + surface real, + contenu jsonb, + incertitudes jsonb, + heritage_props jsonb, + heritage_contenu jsonb, + slug character varying(255), + decisions_annexes_sections jsonb[], + decisions_annexes_contenu json, + archive boolean DEFAULT false NOT NULL, + substances jsonb DEFAULT '[]'::jsonb NOT NULL, + secteurs_maritime jsonb, + administrations_locales jsonb, + sdom_zones jsonb +); +ALTER TABLE public.titres_etapes OWNER TO postgres; +CREATE TABLE public.titres_etapes_justificatifs ( + titre_etape_id character varying(128) NOT NULL, + document_id character varying(255) NOT NULL +); +ALTER TABLE public.titres_etapes_justificatifs OWNER TO postgres; +CREATE TABLE public.titres_forets ( + titre_etape_id character varying(128) NOT NULL, + foret_id character varying(8) NOT NULL +); +ALTER TABLE public.titres_forets OWNER TO postgres; +CREATE TABLE public.titres_points ( + id character varying(255) NOT NULL, + titre_etape_id character varying(128) NOT NULL, + coordonnees point NOT NULL, + groupe integer NOT NULL, + contour integer NOT NULL, + point integer NOT NULL, + nom character varying(255), + description text, + subsidiaire boolean, + lot integer, + slug character varying(255) +); +ALTER TABLE public.titres_points OWNER TO postgres; +CREATE TABLE public.titres_points_references ( + id character varying(255) NOT NULL, + titre_point_id character varying(255), + geo_systeme_id character varying(5) NOT NULL, + coordonnees point NOT NULL, + opposable boolean, + slug character varying(255) +); +ALTER TABLE public.titres_points_references OWNER TO postgres; +CREATE TABLE public.titres_titulaires ( + titre_etape_id character varying(128) NOT NULL, + entreprise_id character varying(64) NOT NULL, + operateur boolean +); +ALTER TABLE public.titres_titulaires OWNER TO postgres; +CREATE TABLE public.titres_types ( + id character varying(3) NOT NULL, + domaine_id character varying(1) NOT NULL, + type_id character varying(3) NOT NULL, + contenu_ids jsonb[], + archive boolean +); +ALTER TABLE public.titres_types OWNER TO postgres; +CREATE TABLE public.titres_types__demarches_types__etapes_types ( + titre_type_id character varying(3) NOT NULL, + ordre integer, + demarche_type_id character varying(7) NOT NULL, + etape_type_id character varying(3) NOT NULL, + sections jsonb[] +); +ALTER TABLE public.titres_types__demarches_types__etapes_types OWNER TO postgres; +CREATE TABLE public.titres_types__demarches_types__etapes_types__justificatifs_t ( + titre_type_id character varying(3) NOT NULL, + demarche_type_id character varying(7) NOT NULL, + etape_type_id character varying(3) NOT NULL, + document_type_id character varying(3) NOT NULL, + optionnel boolean, + description text +); +ALTER TABLE public.titres_types__demarches_types__etapes_types__justificatifs_t OWNER TO postgres; +CREATE TABLE public.titres_types_types ( + id character varying(2) NOT NULL, + nom character varying(255) NOT NULL, + description text, + ordre integer NOT NULL +); +ALTER TABLE public.titres_types_types OWNER TO postgres; +CREATE TABLE public.utilisateurs ( + id character varying(255) NOT NULL, + email character varying(255), + nom character varying(255), + prenom character varying(255), + telephone_fixe character varying(255), + telephone_mobile character varying(255), + role character varying(255) NOT NULL, + date_creation character varying(255) NOT NULL, + administration_id character varying(255), + qgis_token character varying(255) +); +ALTER TABLE public.utilisateurs OWNER TO postgres; +CREATE TABLE public.utilisateurs__entreprises ( + utilisateur_id character varying(64), + entreprise_id character varying(64) +); +ALTER TABLE public.utilisateurs__entreprises OWNER TO postgres; +CREATE TABLE public.utilisateurs__titres ( + utilisateur_id character varying(255) NOT NULL, + titre_id character varying(255) NOT NULL +); +ALTER TABLE public.utilisateurs__titres OWNER TO postgres; +ALTER TABLE ONLY public.activites_types__documents_types + ADD CONSTRAINT activites_types__documents_types_pkey PRIMARY KEY (activite_type_id, document_type_id); +ALTER TABLE ONLY public.activites_types__pays + ADD CONSTRAINT activites_types__pays_pkey PRIMARY KEY (pays_id, activite_type_id); +ALTER TABLE ONLY public.activites_types + ADD CONSTRAINT activites_types_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.administrations__activites_types__emails + ADD CONSTRAINT administrations__activites_types__emails_pkey PRIMARY KEY (administration_id, activite_type_id, email); +ALTER TABLE ONLY public.administrations + ADD CONSTRAINT administrations_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.caches + ADD CONSTRAINT caches_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.communes + ADD CONSTRAINT communes_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.communes_postgis + ADD CONSTRAINT communes_postgis_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.demarches_types + ADD CONSTRAINT demarches_types_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.documents + ADD CONSTRAINT documents_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.documents_types + ADD CONSTRAINT documents_types_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.domaines + ADD CONSTRAINT domaines_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.entreprises__documents_types + ADD CONSTRAINT entreprises__documents_types_pkey PRIMARY KEY (document_type_id); +ALTER TABLE ONLY public.entreprises_etablissements + ADD CONSTRAINT entreprises_etablissements_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.entreprises + ADD CONSTRAINT entreprises_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.etapes_types__justificatifs_types + ADD CONSTRAINT etapes_types__justificatifs_types_pkey PRIMARY KEY (etape_type_id, document_type_id); +ALTER TABLE ONLY public.etapes_types + ADD CONSTRAINT etapes_types_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.forets + ADD CONSTRAINT forets_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.forets_postgis + ADD CONSTRAINT forets_postgis_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.journaux + ADD CONSTRAINT logs_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.sdom_zones_postgis + ADD CONSTRAINT sdom_zones_postgis_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.secteurs_maritime_postgis + ADD CONSTRAINT secteurs_maritime_postgis_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.titres__titres + ADD CONSTRAINT titres__titres_pkey PRIMARY KEY (titre_from_id, titre_to_id); +ALTER TABLE ONLY public.titres_activites + ADD CONSTRAINT titres_activites_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.titres_amodiataires + ADD CONSTRAINT titres_amodiataires_pkey PRIMARY KEY (titre_etape_id, entreprise_id); +ALTER TABLE ONLY public.titres_communes + ADD CONSTRAINT titres_communes_pkey PRIMARY KEY (titre_etape_id, commune_id); +ALTER TABLE ONLY public.titres_demarches_liens + ADD CONSTRAINT titres_demarches_liens_pkey PRIMARY KEY (enfant_titre_demarche_id, parent_titre_demarche_id); +ALTER TABLE ONLY public.titres_demarches + ADD CONSTRAINT titres_demarches_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.titres_etapes_justificatifs + ADD CONSTRAINT titres_etapes_justificatifs_pkey PRIMARY KEY (titre_etape_id, document_id); +ALTER TABLE ONLY public.titres_etapes + ADD CONSTRAINT titres_etapes_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.titres_forets + ADD CONSTRAINT titres_forets_pkey PRIMARY KEY (titre_etape_id, foret_id); +ALTER TABLE ONLY public.titres + ADD CONSTRAINT titres_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.titres_points + ADD CONSTRAINT titres_points_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.titres_points_references + ADD CONSTRAINT titres_points_references_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.titres_titulaires + ADD CONSTRAINT titres_titulaires_pkey PRIMARY KEY (titre_etape_id, entreprise_id); +ALTER TABLE ONLY public.activites_types__titres_types + ADD CONSTRAINT titres_types__activites_types_pkey PRIMARY KEY (titre_type_id, activite_type_id); +ALTER TABLE ONLY public.titres_types__demarches_types__etapes_types__justificatifs_t + ADD CONSTRAINT titres_types__demarches_types__etapes_types__justificatifs_t_pk PRIMARY KEY (titre_type_id, demarche_type_id, etape_type_id, document_type_id); +ALTER TABLE ONLY public.titres_types__demarches_types__etapes_types + ADD CONSTRAINT titres_types__demarches_types__etapes_types_pkey PRIMARY KEY (titre_type_id, demarche_type_id, etape_type_id); +ALTER TABLE ONLY public.titres_types + ADD CONSTRAINT titres_types_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.titres_types_types + ADD CONSTRAINT titres_types_types_pkey PRIMARY KEY (id); +ALTER TABLE ONLY public.titres_types + ADD CONSTRAINT titrestypes_domaineid_typeid_unique UNIQUE (domaine_id, type_id); +ALTER TABLE ONLY public.utilisateurs__titres + ADD CONSTRAINT utilisateurs__titres_pkey PRIMARY KEY (utilisateur_id, titre_id); +ALTER TABLE ONLY public.utilisateurs + ADD CONSTRAINT utilisateurs_email_unique UNIQUE (email); +ALTER TABLE ONLY public.utilisateurs + ADD CONSTRAINT utilisateurs_pkey PRIMARY KEY (id); +CREATE INDEX activitestypes__documentstypes_activitetypeid_index ON public.activites_types__documents_types USING btree (activite_type_id); +CREATE INDEX activitestypes__documentstypes_documenttypeid_index ON public.activites_types__documents_types USING btree (document_type_id); +CREATE INDEX activitestypes__pays_activitetypeid_index ON public.activites_types__pays USING btree (activite_type_id); +CREATE INDEX activitestypes_frequenceid_index ON public.activites_types USING btree (frequence_id); +CREATE INDEX administrations__activitestypes__emails_activitetypeid_index ON public.administrations__activites_types__emails USING btree (activite_type_id); +CREATE INDEX administrations__activitestypes__emails_administrationid_index ON public.administrations__activites_types__emails USING btree (administration_id); +CREATE INDEX administrations__activitestypes_activitetypeid_index ON public.administrations__activites_types USING btree (activite_type_id); +CREATE INDEX administrations__activitestypes_administrationid_index ON public.administrations__activites_types USING btree (administration_id); +CREATE INDEX documents_entrepriseid_index ON public.documents USING btree (entreprise_id); +CREATE INDEX documents_titreactiviteid_index ON public.documents USING btree (titre_activite_id); +CREATE INDEX documents_titreetapeid_index ON public.documents USING btree (titre_etape_id); +CREATE INDEX documents_typeid_index ON public.documents USING btree (type_id); +CREATE INDEX entreprises__documentstypes_documenttypeid_index ON public.entreprises__documents_types USING btree (document_type_id); +CREATE INDEX entreprisesetablissements_entrepriseid_index ON public.entreprises_etablissements USING btree (entreprise_id); +CREATE INDEX etapestypes__justificatifstypes_documenttypeid_index ON public.etapes_types__justificatifs_types USING btree (document_type_id); +CREATE INDEX etapestypes__justificatifstypes_etapetypeid_index ON public.etapes_types__justificatifs_types USING btree (etape_type_id); +CREATE INDEX index_geo_communes ON public.communes_postgis USING spgist (geometry); +CREATE INDEX index_geo_forets ON public.forets_postgis USING spgist (geometry); +CREATE INDEX index_geo_sdom_zones ON public.sdom_zones_postgis USING spgist (geometry); +CREATE INDEX index_geo_secteurs_maritime ON public.secteurs_maritime_postgis USING spgist (geometry); +CREATE INDEX journaux_titreid_index ON public.journaux USING btree (titre_id); +CREATE INDEX logs_utilisateurid_index ON public.journaux USING btree (utilisateur_id); +CREATE INDEX titres__titres_titrefromid_index ON public.titres__titres USING btree (titre_from_id); +CREATE INDEX titres__titres_titretoid_index ON public.titres__titres USING btree (titre_to_id); +CREATE INDEX titres_coordonnees_index ON public.titres USING gist (coordonnees); +CREATE INDEX titres_etapes_administrations_locales_index ON public.titres_etapes USING btree (administrations_locales); +CREATE INDEX titres_etapes_sdom_zones_index ON public.titres_etapes USING btree (sdom_zones); +CREATE INDEX titres_etapes_secteurs_maritime_index ON public.titres_etapes USING btree (secteurs_maritime); +CREATE INDEX titres_etapes_substances_index ON public.titres_etapes USING btree (substances); +CREATE INDEX titres_references_index ON public.titres USING btree ("references"); +CREATE INDEX titres_slug_index ON public.titres USING btree (slug); +CREATE INDEX titres_statutid_index ON public.titres USING btree (titre_statut_id); +CREATE INDEX titres_typeid_index ON public.titres USING btree (type_id); +CREATE INDEX titresactivites_slug_index ON public.titres_activites USING btree (slug); +CREATE INDEX titresactivites_statutid_index ON public.titres_activites USING btree (activite_statut_id); +CREATE INDEX titresactivites_titreid_index ON public.titres_activites USING btree (titre_id); +CREATE INDEX titresactivites_typeid_index ON public.titres_activites USING btree (type_id); +CREATE INDEX titresactivites_utilisateurid_index ON public.titres_activites USING btree (utilisateur_id); +CREATE INDEX titresamodiataires_entrepriseid_index ON public.titres_amodiataires USING btree (entreprise_id); +CREATE INDEX titresamodiataires_titreetapeid_index ON public.titres_amodiataires USING btree (titre_etape_id); +CREATE INDEX titrescommunes_communeid_index ON public.titres_communes USING btree (commune_id); +CREATE INDEX titrescommunes_titreetapeid_index ON public.titres_communes USING btree (titre_etape_id); +CREATE INDEX titresdemarches_slug_index ON public.titres_demarches USING btree (slug); +CREATE INDEX titresdemarches_statutid_index ON public.titres_demarches USING btree (statut_id); +CREATE INDEX titresdemarches_titreid_index ON public.titres_demarches USING btree (titre_id); +CREATE INDEX titresdemarches_typeid_index ON public.titres_demarches USING btree (type_id); +CREATE INDEX titresdemarchesliens_enfanttitredemarcheid_index ON public.titres_demarches_liens USING btree (enfant_titre_demarche_id); +CREATE INDEX titresdemarchesliens_parenttitredemarcheid_index ON public.titres_demarches_liens USING btree (parent_titre_demarche_id); +CREATE INDEX titresetapes_slug_index ON public.titres_etapes USING btree (slug); +CREATE INDEX titresetapes_statutid_index ON public.titres_etapes USING btree (statut_id); +CREATE INDEX titresetapes_titredemarcheid_index ON public.titres_etapes USING btree (titre_demarche_id); +CREATE INDEX titresetapes_typeid_index ON public.titres_etapes USING btree (type_id); +CREATE INDEX titresetapesjustificatifs_documentid_index ON public.titres_etapes_justificatifs USING btree (document_id); +CREATE INDEX titresetapesjustificatifs_titreetapeid_index ON public.titres_etapes_justificatifs USING btree (titre_etape_id); +CREATE INDEX titresforets_foretid_index ON public.titres_forets USING btree (foret_id); +CREATE INDEX titresforets_titreetapeid_index ON public.titres_forets USING btree (titre_etape_id); +CREATE INDEX titrespoints_coordonnees_index ON public.titres_points USING gist (coordonnees); +CREATE INDEX titrespoints_slug_index ON public.titres_points USING btree (slug); +CREATE INDEX titrespoints_titreetapeid_index ON public.titres_points USING btree (titre_etape_id); +CREATE INDEX titrespointsreferences_slug_index ON public.titres_points_references USING btree (slug); +CREATE INDEX titrespointsreferences_titrepointid_index ON public.titres_points_references USING btree (titre_point_id); +CREATE INDEX titrestitulaires_entrepriseid_index ON public.titres_titulaires USING btree (entreprise_id); +CREATE INDEX titrestitulaires_titreetapeid_index ON public.titres_titulaires USING btree (titre_etape_id); +CREATE INDEX titrestypes__activitestypes_activitetypeid_index ON public.activites_types__titres_types USING btree (activite_type_id); +CREATE INDEX titrestypes__activitestypes_titretypeid_index ON public.activites_types__titres_types USING btree (titre_type_id); +CREATE INDEX titrestypes__demarchestypes__etapestypes__justificatifst_demarc ON public.titres_types__demarches_types__etapes_types__justificatifs_t USING btree (demarche_type_id); +CREATE INDEX titrestypes__demarchestypes__etapestypes__justificatifst_docume ON public.titres_types__demarches_types__etapes_types__justificatifs_t USING btree (document_type_id); +CREATE INDEX titrestypes__demarchestypes__etapestypes__justificatifst_etapet ON public.titres_types__demarches_types__etapes_types__justificatifs_t USING btree (etape_type_id); +CREATE INDEX titrestypes__demarchestypes__etapestypes__justificatifst_titret ON public.titres_types__demarches_types__etapes_types__justificatifs_t USING btree (titre_type_id); +CREATE INDEX titrestypes__demarchestypes__etapestypes_demarchetypeid_index ON public.titres_types__demarches_types__etapes_types USING btree (demarche_type_id); +CREATE INDEX titrestypes__demarchestypes__etapestypes_etapetypeid_index ON public.titres_types__demarches_types__etapes_types USING btree (etape_type_id); +CREATE INDEX titrestypes__demarchestypes__etapestypes_titretypeid_index ON public.titres_types__demarches_types__etapes_types USING btree (titre_type_id); +CREATE INDEX titrestypes_domaineid_index ON public.titres_types USING btree (domaine_id); +CREATE INDEX titrestypes_typeid_index ON public.titres_types USING btree (type_id); +CREATE INDEX utilisateurs__entreprises_entrepriseid_index ON public.utilisateurs__entreprises USING btree (entreprise_id); +CREATE INDEX utilisateurs__entreprises_utilisateurid_index ON public.utilisateurs__entreprises USING btree (utilisateur_id); +CREATE INDEX utilisateurs__titres_titreid_index ON public.utilisateurs__titres USING btree (titre_id); +CREATE INDEX utilisateurs__titres_utilisateurid_index ON public.utilisateurs__titres USING btree (utilisateur_id); +CREATE INDEX utilisateurs_administrationid_index ON public.utilisateurs USING btree (administration_id); +CREATE INDEX utilisateurs_qgis_token_index ON public.utilisateurs USING btree (qgis_token); +ALTER TABLE ONLY public.activites_types__documents_types + ADD CONSTRAINT activitestypes__documentstypes_activitetypeid_foreign FOREIGN KEY (activite_type_id) REFERENCES public.activites_types(id); +ALTER TABLE ONLY public.activites_types__documents_types + ADD CONSTRAINT activitestypes__documentstypes_documenttypeid_foreign FOREIGN KEY (document_type_id) REFERENCES public.documents_types(id); +ALTER TABLE ONLY public.activites_types__pays + ADD CONSTRAINT activitestypes__pays_activitetypeid_foreign FOREIGN KEY (activite_type_id) REFERENCES public.activites_types(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.administrations__activites_types__emails + ADD CONSTRAINT administrations__activitestypes__emails_activitetypeid_foreign FOREIGN KEY (activite_type_id) REFERENCES public.activites_types(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.administrations__activites_types__emails + ADD CONSTRAINT administrations__activitestypes__emails_administrationid_foreig FOREIGN KEY (administration_id) REFERENCES public.administrations(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.administrations__activites_types + ADD CONSTRAINT administrations__activitestypes_activitetypeid_foreign FOREIGN KEY (activite_type_id) REFERENCES public.activites_types(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.administrations__activites_types + ADD CONSTRAINT administrations__activitestypes_administrationid_foreign FOREIGN KEY (administration_id) REFERENCES public.administrations(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.documents + ADD CONSTRAINT documents_entrepriseid_foreign FOREIGN KEY (entreprise_id) REFERENCES public.entreprises(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.documents + ADD CONSTRAINT documents_titreactiviteid_foreign FOREIGN KEY (titre_activite_id) REFERENCES public.titres_activites(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.documents + ADD CONSTRAINT documents_titreetapeid_foreign FOREIGN KEY (titre_etape_id) REFERENCES public.titres_etapes(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.documents + ADD CONSTRAINT documents_typeid_foreign FOREIGN KEY (type_id) REFERENCES public.documents_types(id); +ALTER TABLE ONLY public.entreprises__documents_types + ADD CONSTRAINT entreprises__documentstypes_documenttypeid_foreign FOREIGN KEY (document_type_id) REFERENCES public.documents_types(id); +ALTER TABLE ONLY public.entreprises_etablissements + ADD CONSTRAINT entreprisesetablissements_entrepriseid_foreign FOREIGN KEY (entreprise_id) REFERENCES public.entreprises(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.etapes_types__justificatifs_types + ADD CONSTRAINT etapestypes__justificatifstypes_documenttypeid_foreign FOREIGN KEY (document_type_id) REFERENCES public.entreprises__documents_types(document_type_id); +ALTER TABLE ONLY public.etapes_types__justificatifs_types + ADD CONSTRAINT etapestypes__justificatifstypes_etapetypeid_foreign FOREIGN KEY (etape_type_id) REFERENCES public.etapes_types(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.journaux + ADD CONSTRAINT journaux_titreid_foreign FOREIGN KEY (titre_id) REFERENCES public.titres(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres__titres + ADD CONSTRAINT titres__titres_titrefromid_foreign FOREIGN KEY (titre_from_id) REFERENCES public.titres(id); +ALTER TABLE ONLY public.titres__titres + ADD CONSTRAINT titres__titres_titretoid_foreign FOREIGN KEY (titre_to_id) REFERENCES public.titres(id); +ALTER TABLE ONLY public.titres + ADD CONSTRAINT titres_typeid_foreign FOREIGN KEY (type_id) REFERENCES public.titres_types(id); +ALTER TABLE ONLY public.titres_activites + ADD CONSTRAINT titresactivites_titreid_foreign FOREIGN KEY (titre_id) REFERENCES public.titres(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_activites + ADD CONSTRAINT titresactivites_typeid_foreign FOREIGN KEY (type_id) REFERENCES public.activites_types(id); +ALTER TABLE ONLY public.titres_activites + ADD CONSTRAINT titresactivites_utilisateurid_foreign FOREIGN KEY (utilisateur_id) REFERENCES public.utilisateurs(id); +ALTER TABLE ONLY public.titres_amodiataires + ADD CONSTRAINT titresamodiataires_entrepriseid_foreign FOREIGN KEY (entreprise_id) REFERENCES public.entreprises(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_amodiataires + ADD CONSTRAINT titresamodiataires_titreetapeid_foreign FOREIGN KEY (titre_etape_id) REFERENCES public.titres_etapes(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_communes + ADD CONSTRAINT titrescommunes_communeid_foreign FOREIGN KEY (commune_id) REFERENCES public.communes(id); +ALTER TABLE ONLY public.titres_communes + ADD CONSTRAINT titrescommunes_titreetapeid_foreign FOREIGN KEY (titre_etape_id) REFERENCES public.titres_etapes(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_demarches + ADD CONSTRAINT titresdemarches_titreid_foreign FOREIGN KEY (titre_id) REFERENCES public.titres(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_demarches + ADD CONSTRAINT titresdemarches_typeid_foreign FOREIGN KEY (type_id) REFERENCES public.demarches_types(id); +ALTER TABLE ONLY public.titres_demarches_liens + ADD CONSTRAINT titresdemarchesliens_enfanttitredemarcheid_foreign FOREIGN KEY (enfant_titre_demarche_id) REFERENCES public.titres_demarches(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_demarches_liens + ADD CONSTRAINT titresdemarchesliens_parenttitredemarcheid_foreign FOREIGN KEY (parent_titre_demarche_id) REFERENCES public.titres_demarches(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_etapes + ADD CONSTRAINT titresetapes_titredemarcheid_foreign FOREIGN KEY (titre_demarche_id) REFERENCES public.titres_demarches(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_etapes + ADD CONSTRAINT titresetapes_typeid_foreign FOREIGN KEY (type_id) REFERENCES public.etapes_types(id); +ALTER TABLE ONLY public.titres_etapes_justificatifs + ADD CONSTRAINT titresetapesjustificatifs_documentid_foreign FOREIGN KEY (document_id) REFERENCES public.documents(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_etapes_justificatifs + ADD CONSTRAINT titresetapesjustificatifs_titreetapeid_foreign FOREIGN KEY (titre_etape_id) REFERENCES public.titres_etapes(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_forets + ADD CONSTRAINT titresforets_foretid_foreign FOREIGN KEY (foret_id) REFERENCES public.forets(id); +ALTER TABLE ONLY public.titres_forets + ADD CONSTRAINT titresforets_titreetapeid_foreign FOREIGN KEY (titre_etape_id) REFERENCES public.titres_etapes(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_points + ADD CONSTRAINT titrespoints_titreetapeid_foreign FOREIGN KEY (titre_etape_id) REFERENCES public.titres_etapes(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_points_references + ADD CONSTRAINT titrespointsreferences_titrepointid_foreign FOREIGN KEY (titre_point_id) REFERENCES public.titres_points(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_titulaires + ADD CONSTRAINT titrestitulaires_entrepriseid_foreign FOREIGN KEY (entreprise_id) REFERENCES public.entreprises(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.titres_titulaires + ADD CONSTRAINT titrestitulaires_titreetapeid_foreign FOREIGN KEY (titre_etape_id) REFERENCES public.titres_etapes(id) ON UPDATE CASCADE ON DELETE CASCADE; +ALTER TABLE ONLY public.activites_types__titres_types + ADD CONSTRAINT titrestypes__activitestypes_activitetypeid_foreign FOREIGN KEY (activite_type_id) REFERENCES public.activites_types(id); +ALTER TABLE ONLY public.activites_types__titres_types + ADD CONSTRAINT titrestypes__activitestypes_titretypeid_foreign FOREIGN KEY (titre_type_id) REFERENCES public.titres_types(id); +ALTER TABLE ONLY public.titres_types__demarches_types__etapes_types__justificatifs_t + ADD CONSTRAINT titrestypes__demarchestypes__etapestypes__justificatifst_docume FOREIGN KEY (document_type_id) REFERENCES public.documents_types(id); +ALTER TABLE ONLY public.titres_types__demarches_types__etapes_types__justificatifs_t + ADD CONSTRAINT titrestypes__demarchestypes__etapestypes__justificatifst_titret FOREIGN KEY (titre_type_id, demarche_type_id, etape_type_id) REFERENCES public.titres_types__demarches_types__etapes_types(titre_type_id, demarche_type_id, etape_type_id); +ALTER TABLE ONLY public.titres_types__demarches_types__etapes_types + ADD CONSTRAINT titrestypes__demarchestypes__etapestypes_demarchetypeid_foreign FOREIGN KEY (demarche_type_id) REFERENCES public.demarches_types(id); +ALTER TABLE ONLY public.titres_types__demarches_types__etapes_types + ADD CONSTRAINT titrestypes__demarchestypes__etapestypes_etapetypeid_foreign FOREIGN KEY (etape_type_id) REFERENCES public.etapes_types(id); +ALTER TABLE ONLY public.titres_types__demarches_types__etapes_types + ADD CONSTRAINT titrestypes__demarchestypes__etapestypes_titretypeid_foreign FOREIGN KEY (titre_type_id) REFERENCES public.titres_types(id); +ALTER TABLE ONLY public.titres_types + ADD CONSTRAINT titrestypes_domaineid_foreign FOREIGN KEY (domaine_id) REFERENCES public.domaines(id); +ALTER TABLE ONLY public.titres_types + ADD CONSTRAINT titrestypes_typeid_foreign FOREIGN KEY (type_id) REFERENCES public.titres_types_types(id); +ALTER TABLE ONLY public.utilisateurs__entreprises + ADD CONSTRAINT utilisateurs__entreprises_entrepriseid_foreign FOREIGN KEY (entreprise_id) REFERENCES public.entreprises(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.utilisateurs__entreprises + ADD CONSTRAINT utilisateurs__entreprises_utilisateurid_foreign FOREIGN KEY (utilisateur_id) REFERENCES public.utilisateurs(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.utilisateurs__titres + ADD CONSTRAINT utilisateurs__titres_titreid_foreign FOREIGN KEY (titre_id) REFERENCES public.titres(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.utilisateurs__titres + ADD CONSTRAINT utilisateurs__titres_utilisateurid_foreign FOREIGN KEY (utilisateur_id) REFERENCES public.utilisateurs(id) ON DELETE CASCADE; +ALTER TABLE ONLY public.utilisateurs + ADD CONSTRAINT utilisateurs_administrationid_foreign FOREIGN KEY (administration_id) REFERENCES public.administrations(id); diff --git a/packages/api/tests/db-manager.ts b/packages/api/tests/db-manager.ts index 5f2c4214ee99fe24ea80dba06ade9480bc9af42f..b4900b3cedf7f689dfe1fab71d5372b0cbdd010e 100644 --- a/packages/api/tests/db-manager.ts +++ b/packages/api/tests/db-manager.ts @@ -55,7 +55,7 @@ class DbManager { password: DbManager.getPgPassword(), }, migrations: { - directory: [join(__dirname, '../src/knex/migrations-schema')], + directory: [join(__dirname, '../src/knex/migrations')], loadExtensions: ['.ts'], extension: 'ts', },