Use this: http://pgloader.org/howto/pgloader.1.html
2014-04-24 14:39 GMT+02:00 Rene Dohmen <[email protected]>: > Hi Web2py users, > > we are struggling, for some time now, with a migration of our apps from > sqlite to postgres. We tried a couple of approaches: first we tried doing > it with cp_db.py but that had problems with relations and seems broken. Our > current approach consist of these steps: > > 1) export data with: > def export_all(): > db.export_to_csv_file(open('export_all.csv', 'w')) > > 2) change conenction string from sqlite: > db = DAL('sqlite://storage.sqlite', migrate=settings.migrate) > TO: > db = DAL('postgres://user:pass@localhost/project', migrate=settings. > migrate, check_reserved=False, entity_quoting=True) > > 3) remove contents of database/ folder and let web2py create the DB > > 4) import data from the csv > def import_all(): > db.import_from_csv_file(open('export_all.csv', 'r')) > > > The import then runs for a very long time and after 10 minutes or so a > ticket is served: > ----- > Ticket ID > > 127.0.0.1.2014-04-24.13-38-52.6c7d2674-34e2-4968-9526-ee78b83fda76 > Versieweb2py™Version 2.9.5-stable+timestamp.2014.03.16.02.35.39PythonPython > 2.7.5: /usr/bin/python (prefix: > /System/Library/Frameworks/Python.framework/Versions/2.7)Traceback > > 1. > 2. > 3. > 4. > 5. > 6. > 7. > 8. > 9. > 10. > 11. > 12. > 13. > 14. > 15. > 16. > 17. > 18. > 19. > 20. > 21. > 22. > 23. > 24. > 25. > 26. > 27. > > Traceback (most recent call last): > File "/Users/acidjunk/GIT/formatics.web2py/gluon/main.py", line 539, in > wsgibase > BaseAdapter.close_all_instances('rollback') > File "/Users/acidjunk/GIT/formatics.web2py/gluon/dal.py", line 600, in > close_all_instances > db._adapter.close(action) > File "/Users/acidjunk/GIT/formatics.web2py/gluon/dal.py", line 580, in close > getattr(self, action)() > File "/Users/acidjunk/GIT/formatics.web2py/gluon/dal.py", line 1923, in > rollback > return self.connection.rollback() > File "/Users/acidjunk/GIT/formatics.web2py/gluon/contrib/pg8000/dbapi.py", > line 455, in _fn > return fn(self, *args, **kwargs) > File "/Users/acidjunk/GIT/formatics.web2py/gluon/contrib/pg8000/dbapi.py", > line 551, in rollback > self.conn.rollback() > File > "/Users/acidjunk/GIT/formatics.web2py/gluon/contrib/pg8000/interface.py", > line 622, in rollback > self._rollback.execute() > File > "/Users/acidjunk/GIT/formatics.web2py/gluon/contrib/pg8000/interface.py", > line 166, in execute > self.c.close_portal(self._portal_name) > File > "/Users/acidjunk/GIT/formatics.web2py/gluon/contrib/pg8000/protocol.py", line > 1326, in close_portal > reader.handle_messages() > File > "/Users/acidjunk/GIT/formatics.web2py/gluon/contrib/pg8000/protocol.py", line > 906, in handle_messages > msg = self._conn._read_message() > File > "/Users/acidjunk/GIT/formatics.web2py/gluon/contrib/pg8000/protocol.py", line > 1033, in _read_message > bytes = self._read_bytes(5) > File > "/Users/acidjunk/GIT/formatics.web2py/gluon/contrib/pg8000/protocol.py", line > 1021, in _read_bytes > self._sock_buf = self._sock.recv(1024) > timeout: timed out > > Error snapshot [image: > help]<http://localhost:9999/admin/default/ticket/leondewit/127.0.0.1.2014-04-24.13-38-52.6c7d2674-34e2-4968-9526-ee78b83fda76#> > > <class 'socket.timeout'>(timed out) > ----- > > Is there a better way to do this kind of migrate, or to have better debug > info about where it goes wrong? > > Any help is appreciated. > > Kind Regards > > Rene > > -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

