Re: Using a Makefile during database development
От | Bill Moran |
---|---|
Тема | Re: Using a Makefile during database development |
Дата | |
Msg-id | 400AEDCC.4050702@potentialtech.com обсуждение исходный текст |
Ответ на | Re: Using a Makefile during database development (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
Tom Lane wrote: > Bill Moran <wmoran@potentialtech.com> writes: > >>The problem I'm hitting is this: how can I teach make to know when a >>particular file is newer than the data in the database? > > > AFAIK there's no direct way to do that; all of make's decisions are > based on existence and mod times of files, so you can't persuade it to > test directly for SQL-level conditions. > > However, this sort of problem comes up in many contexts, and make users > have developed a standard solution: you create or touch an empty > "timestamp" file when you do an action such as updating the database > from a particular collection of source files. The mod time of the > timestamp file can then serve as the comparison value telling make > whether to do it again. A typical rule would look like: > > db_update.stamp: somefile.sql someotherfile.sql > psql mydb -f somefile.sql > psql mydb -f someotherfile.sql > touch db_update.stamp > > You make one stamp file for each action you might or might not need to > do, and then user-level targets look like > > update: db_update.stamp ... Thanks, Tom. I had considered this approach, but it seemed rather clunky. The way you describe it doesn't make it sound so bad, though. I was hoping there was some way to track this using a backticked command or something. -- Bill Moran Potential Technologies http://www.potentialtech.com
В списке pgsql-general по дате отправления: