我希望迁移到sqitch,但是我的团队喜欢他们的迁移作为多个文件。例如,如果我们在同一个jira票据中创建一个外键并创建一个索引,那么我们喜欢PROJ-123-create-fk.sql和PROJ-123-create-index.sql。
我想在sqitch.plan文件中保留一个行,这样每个jira票据都对应于一个行。
基本上,除了向sqitch.plan添加行之外,我还能这样做吗?是否有从主sql文件中“包含”其他sql文件的方法?有点像
PROJ-123-main.sql
\include PROJ-123-create-fk.sql
\include PROJ-123-create-index.sql非常感谢!
发布于 2022-05-07 18:50:28
\ir psql指令为我解决了这个问题。
在PROJ-123-deploy.sql中
\ir PROJ-123-create-fk.sql
\ir PROJ-123-create-index.sql如果fk和索引sql文件位于同一个目录中,则将执行它们。
发布于 2022-07-06 11:28:09
由于您希望将其存储为计划文件中的一行,所以它并不完全匹配,但我将解释我们在下面使用的方法。也许有一些地方你想用在它上。
我的团队中也有类似的情况,但是我们使用sqitch tags。应用程序的每个版本对应于一个子任务。每个任务对应一个标签。我们创建的sql文件与子任务的数量一样多。然后,我们将它们组合到一个标记中,该标记使用主任务的名称创建。在我们用于数据库的CI/CD管道中,我们还提供了带有标记的版本之间的转换。我想在这里添加这个方法,以防有人喜欢使用类似的结构。
简单的例子;
让我们安装应用程序的v2.0,v2.1需要一个新的表和索引
我们创建两个名为create的子任务,并在名为v2.1的主任务下创建索引
我们创建两个sql文件:app_v2.1_table_create.sql创建一个表,app_v2.1_index_create.sql创建一个索引。
之后,我们创建了一个名为sqitch tag的v2.1。注意,它的名称与主要任务相同。
https://stackoverflow.com/questions/72155473
复制相似问题