1
我有一个包含用于创建数据库的SQL命令的文件。使用psql自动创建数据库
我也有一组单独的文件,每个文件都包含用于创建函数的SQL命令。例如:
- funcs_algebra.sql
- funcs_trigonometry.sql
- funcs_geometry.sql
比方说我的主要SQLscript看起来是这样的:
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来使用psql创建数据库(包含函数)。
任何人都知道如何?
[编辑]
我也许应该说我认为是明显的。我想在SEPARATE文件中保留函数相关的SQL,这样我只有一个源可以修改。这是我分配逻辑和保存东西的一种方式DRY。
函数定义用于创建其他模板数据库 - 所以我想将它们保存在单独的文件中,但是引用来自我的SQL脚本中的文件。
我能想到的唯一的另一种方式是编写一个bash脚本,它可以对psql进行连续调用 - 首先创建数据库,然后添加函数 - 不是非常优雅,而不是非常干。有另一种(更优雅)的方式吗?
这就是我在找的东西!谢谢 – skyeagle 2010-12-16 09:40:43
尽管有一句话警告:这会使你的脚本在除psql外的任何内容中都不可用。 – 2010-12-16 09:47:59