Re: TDD Database migration code

"Avi Kessner [email protected] [testdrivendevelopment]" <[email protected]> Wed, 20 Apr 2016 11:06:08 +0300
Newsgroups gmane.comp.programming.test-driven-development
Message-ID <CAGEhWpH68ZNzgzUY6=B4syyGzkBiztgbVS5O=rmOxai40VZzDw@mail.gmail.com>
PgTap looks perfect. Thanks!
On Apr 20, 2016 10:59 AM, "Avi Kessner" <[email protected]> wrote:

> Ideally I'm looking for something that creates databases, runs sql, is
> able to check the state of the database, and then destroys the database.
>
> I don't really care at what level that happens at. (Though easier is
> obviously better)  .. (investigating pgtap now, thanks)
>
> brought to you by the letters A, V, and I
> and the number 47
>
> On Wed, Apr 20, 2016 at 10:21 AM, Adam Sroka [email protected]
> [testdrivendevelopment] <[email protected]> wrote:
>
>>
>>
>> Are you talking about test driving database access code from a general
>> purpose language? Or are you talking about test driving stuff inside the
>> database engine? There is http://pgtap.org/ but I would look for a way
>> to do it at a higher level, unless... a gun was pointed at my head.
>>
>> On Tuesday, April 19, 2016, [email protected] [testdrivendevelopment] <
>> [email protected]> wrote:
>>
>>>
>>>
>>> My google searches are giving me bad results... :(
>>>
>>> Does anyone know of any good articles, or have any good hints, on how to
>>> do TDD for writing PostgresSQL, or database code?
>>>
>>> I need to write a custom system which allows us to do DB migrations and
>>> updates etc, a bit similar to what Ruby on Rails with has their DB
>>> rake:migration command.*
>>>
>>> Google is mostly giving me information on how to abstract out DB
>>> objects, but I need to verify that my new custom migration system is
>>> actually working.
>>>
>>> The tests I would want to write are simples
>>>    1. Confirm that a migration file worked (say by adding a column)
>>>    2. Confirm that only the latest migration was run, and not a previous
>>> one (say by checking a value in the table wasn't changed)
>>>
>>> I appreciate the help you can provide.
>>>
>>> *The short version is:
>>>  1. A command which generates a .sql file with a timestamp in the file
>>> name.
>>>   2. A command which checks all the files in a folder, and then does
>>> some comparisons to another db, and picks one or more .sql files to run on
>>> the db in question.
>>>
>>>
>>>
>>>
>>>
>>> 
>>
>
>