Инструмент для объединения нескольких файлов .SQL - PullRequest
3 голосов
/ 08 августа 2011

Сейчас у нас есть файл .sql ~ 5000 строк, состоящий из таблиц, функций, триггеров и других определений / объявлений. Идея состоит в том, чтобы разделить это на несколько файлов sql, чтобы избежать одновременного редактирования одного и того же файла несколькими людьми. Затем, непосредственно перед сборкой, файлы будут объединены во временный файл, в который наши скрипты затем импортируют и создают базу данных.

Вначале я думал о том, чтобы просто создать сценарий bash и объединить файлы в соответствующем порядке, чтобы восстановить файл .sql размером ~ 5000 строк, который затем можно будет импортировать. Мне было любопытно, был ли какой-нибудь тип mysql, psql или другой специфичной для Linux команды, которая могла бы сделать это намного более элегантно и чище?

1 Ответ

4 голосов
/ 09 августа 2011

Труднее стать чище, чем cat *.sql, ИМХО. Просто убедитесь, что вы назвали файлы так, чтобы глобус оболочки расширился до правильного порядка включения. то есть, если у вас есть make-tables.sql и load-tables.sql, вы не можете использовать простой *, потому что это поставит load- перед make-.

Помещение числового префикса перед каждым файлом может напоминать вам номера строк BASIC старой школы, но это работает.

01-init.sql
10-create-tables.sql
15-create-indexes.sql
20-create-functions.sql
25-create-triggers.sql
75-load-data.sql
99-run-reports.sql

или что-то в этом роде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...