mongo init
This commit is contained in:
@@ -92,6 +92,7 @@ services:
|
||||
volumes:
|
||||
- mongodb_configdb:/data/configdb
|
||||
- mongodb_data:/data/db
|
||||
- ./mongo-init:/docker-entrypoint-initdb.d
|
||||
ports:
|
||||
- "27017:27017"
|
||||
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