У меня есть файл, содержащий команды SQL для создания базы данных.
У меня также есть набор отдельных файлов, каждый из которых содержит команды SQL для создания функций.Например:
- funcs_algebra.sql
- funcs_trigonometry.sql
- funcs_geometry.sql
Допустим, мой основной SQL-скрипт выглядит следующим образом:
CREATE DATABASE mydb;
CREATE TABLE foo(id INT, name VARCHAR(32));
CREATE TABLE foobar(id INT, age REAL);
-- Commands below to import the functions in the separate files
-- funcs_algebra.sql
-- funcs_trigonometry.sql
-- funcs_geometry.sql
Я хочу знать, как включить файлы в мой «основной SQL», чтобы у меня был только один файл для передачи в psql.
Цель состоит в том, чтобы иметь возможностьиспользуйте psql для создания базы данных (в комплекте с функциями), просто передавая команды в этом файле в psql.
Кто-нибудь знает, как?
[Edit]
Я, наверное, должен был заявить о том, что считал очевидным.Я хочу сохранить связанный с функцией SQL в отдельных файлах, чтобы у меня был только один источник для изменения.Это способ разделять логику и хранить вещи DRY .
Определения функций используются для создания других шаблонных баз данных - поэтому я хочу хранить их в отдельных файлах, но ссылаться на файлыиз моего скрипта SQL.
Единственный другой способ, которым я могу думать об этом, - это написать скрипт bash, который делает последовательные вызовы psql - сначала создайте базу данных, а затем добавьте функции - не очень элегантно, ине очень сухой.Есть ли другой (более элегантный) способ?