Using a Makefile during database development
От | Bill Moran |
---|---|
Тема | Using a Makefile during database development |
Дата | |
Msg-id | 400A9DFB.8080502@potentialtech.com обсуждение исходный текст |
Ответы |
Re: Using a Makefile during database development
|
Список | pgsql-general |
Hello again, I'm developing a program based on PostgreSQL. It's consists of tables, constraints, _many_ stored procedures, 56M of test data, and a client app written in C. To help me with all of this, I obviously have a Makefile. I can do "make" to rebuild the C app (assuming I haven't added any bugs) and I can do "make database" to create the database tables, and "make funcitons" to add the stored procedures to the database, and I'll soon be adding "make test" to install the test data. When I get to the constraints, I'll make a target for it as well. There's probably no reason for me to explain the advantages of these targets during development :) However, in order to do "make database" I have to first drop the current database. In order to do "make functions" I (currently) have to drop and recreate the database. I figure I'll have to do the same for "make test" once I've added that target to the makefile. I'm wondering if anyone has some examples making targets like this more automatic. For example, if I do "make db-all" would test the various files that have the table, constraint, stored procedure, and test data in them and if any had been updated, only then rebuild that portion of the database. Frankly, there's enough stuff already that it's getting time consuming to rebuild everything when I make changes, and I get interrupted in my work too often to easily keep track of what I've updated since I last did it. 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? Until I can figure out a system for that, I can't really automate any more of the process. Anyone have a technique they've been using? -- Bill Moran Potential Technologies http://www.potentialtech.com
В списке pgsql-general по дате отправления: