mongo init
This commit is contained in:
@@ -92,6 +92,7 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- mongodb_configdb:/data/configdb
|
- mongodb_configdb:/data/configdb
|
||||||
- mongodb_data:/data/db
|
- mongodb_data:/data/db
|
||||||
|
- ./mongo-init:/docker-entrypoint-initdb.d
|
||||||
ports:
|
ports:
|
||||||
- "27017:27017"
|
- "27017:27017"
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
20
json/export.sql
Normal file
20
json/export.sql
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
DO $$
|
||||||
|
DECLARE
|
||||||
|
r RECORD;
|
||||||
|
file_path TEXT;
|
||||||
|
BEGIN
|
||||||
|
FOR r IN SELECT id, caracteristiques FROM item
|
||||||
|
LOOP
|
||||||
|
file_path := format('/tmp/json/%s.json', r.id);
|
||||||
|
|
||||||
|
-- Écrit le fichier (nécessite superutilisateur)
|
||||||
|
PERFORM pg_catalog.pg_write_file(
|
||||||
|
file_path,
|
||||||
|
r.caracteristiques::text,
|
||||||
|
false -- false = écrasement (pas d'append)
|
||||||
|
);
|
||||||
|
|
||||||
|
RAISE NOTICE 'Exporté : %', file_path;
|
||||||
|
END LOOP;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
8
mongo-init/01-import.sh
Normal file
8
mongo-init/01-import.sh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
for file in /docker-entrypoint-initdb.d/*.json; do
|
||||||
|
collection=$(basename "$file" .json)
|
||||||
|
echo "Importing $collection..."
|
||||||
|
mongoimport --db mydb --collection "$collection" --file "$file" --jsonArray
|
||||||
|
done
|
||||||
Reference in New Issue
Block a user