[PATCH] Make LNT compatible with PostgreSQL

Yi Kong kongy.dev at gmail.com
Mon Jul 21 13:34:18 PDT 2014


I tried to migrate using SQLite's dump and import, but that didn't
work mainly because BLOBs are not supported in Postgres, and date
object has different format. pgloader does the job, but is really
difficult to set up and sometimes produces malformed output(maybe
because my distribution ships a very old version of it). I found
SQLAlchemy provides session.merge() that supposed to do the job, but I
haven't tried it yet.

Besides, I don't believe we really need to provide documentation for
migration, as it's a complicated and risky process, especially that
people hack LNT extensively. We should suggest users to create a new
database or otherwise migrate by their own effort.

-Yi

On 21 July 2014 17:15, Chris Matthews <chris.matthews at apple.com> wrote:
> I have never tried a migration, I have always started fresh from an empty database.
>
> Can you be specific about the problems you encountered? Were you trying to migrate at the Sqlalchemy level? Or using sqlite’s dump command, and postgres’ import?  As far as I know, Postgres supports a superset of sqlite’s?
>
>
>> On Jul 20, 2014, at 2:34 PM, Yi Kong <kongy.dev at gmail.com> wrote:
>>
>> Hi Chris, Daniel,
>>
>> After toying with the SQLite for a while, I found the existing
>> migration tools are too complicated to use and error prone, since some
>> db features we are using in SQLite are not supported in Postgres. I
>> suggest we add psql support now so that people can start using it if
>> starting anew or willing to migrate manually, and I will extend LNT to
>> support db migration(or merging) when I have time.
>>
>> I'm not an expert in databases, any ideas would be appreciated.
>>
>> Cheers,
>> -Yi
>>
>> On 2 July 2014 21:09, Yi Kong <kongy.dev at gmail.com> wrote:
>>> On 2 July 2014 18:59, Chris Matthews <chris.matthews at apple.com> wrote:
>>>> I think if we are going to expose support for Postgres to users, which I
>>>> agree we should, we need a new section in the documentation explaining how
>>>> to do it, and at least a smoke test in test suite to make sure we don’t
>>>> break support, and a test to make sure the create call works with a postgres
>>>> URLs.
>>>>
>>>> Yi, can you add those things to your patch, or in subsequent patches?
>>>>
>>>> It would also be important to have a section of docs on how to migrate from
>>>> sqlite to Postgres, as I assume that is the path most users would end up
>>>> taking.
>>>
>>> Sure.
>>>
>>>> We do also have to be careful.  There are situations I have found were the
>>>> same flask queries don’t return the same results on sqlite and Postgres.  I
>>>> have not hit this in LNT, but in development of LNT extensions, so it is
>>>> something to watch out for!
>>>>
>




More information about the llvm-commits mailing list