Sebuah psql
naskah
Skrip psql dapat mengindeks beberapa file, mari kita asumsikan 01_mydb.psql
, ada di direktori kerja saat ini, dan Anda memiliki direktori 01
yang memiliki file 01_schema.sql
dan 02_types.sql
.
01_mydb.psql
mungkin terlihat seperti ini.
\i 01/01_schema.sql
\i 01/02_types.sql
Atau bagaimanapun Anda ingin struktur itu. Jika segalanya menjadi lebih kompleks dan perlu lebih banyak pesanan, tambahkan lebih banyak subdirektori
\i 01/10_tables/01_foo.sql
\i 01/10_tables/02_bar.sql
Maka Anda hanya akan baik ..
- Tambahkan file indeks
01
, kira-kira seperti./01/10_tables.psql
- Atau, tambahkan saja semuanya
01_mydb.sql
Saya akan menunjukkan metode kedua menggunakan find
,
Menggunakan find
untuk menghasilkan skrip master-load.
Ayo maju dan buat struktur itu.
01/
├── 01_schema.psql
├── 02_types.psql
└── 10_tables
├── 01_foo.psql
└── 02_bar.psql
Berikut adalah perintah yang kami gunakan untuk membuatnya.,
mkdir 01
touch 01/01_schema.sql
touch 01/02_types.sql
mkdir 01/10_tables
touch 01/10_tables/01_foo.sql
touch 01/10_tables/02_bar.sql
Sekarang Anda dapat menggunakan find
untuk menghasilkan skrip memuat
find ./01/ -type f -printf '\\i %p\n' | sort | tee master.psql
\i ./01/01_schema.sql
\i ./01/02_types.sql
\i ./01/10_tables/01_foo.sql
\i ./01/10_tables/02_bar.sql
Sekarang jalankan saja master.psql
;
psql -d database -f master.psql
psql -f master.sql
).