I tried this code. There are two objects in it. The second is just a new created one to check if everything goes right. It appears in the sqlite database. The first object is from the "old" PostgreSQL database. But it doesn't appear in the new sqlite database. There even is no error output and now sql-echo-output about that object. Nothing happens when I try to add() it. The table schemes are created fine.
What could there go on? [code] #!/usr/bin/env python3 # -*- coding: utf-8 -*- import model as m import sqlalchemy as sa import sqlalchemy.orm as sao from sqlalchemy_utils import create_database pstr = 'postgres://puser@localhost/Foobar' sstr = 'sqlite:///foobar.db' def convert(): # get one object from the PostgreSQL database pengine = sa.create_engine(pstr, echo = True) psession = sao.sessionmaker(bind = pengine)() pobj = psession.query(m.Machine).first() psession.expunge(pobj) psession.close() # create and open the SQLite database sengine = sa.create_engine(sstr, echo = True) create_database(sengine.url) m._Base.metadata.create_all(sengine) # add/convert the one object to the new database ssession = sao.sessionmaker(bind = sengine)() ssession.add(pobj) # add a new created object to the new database nobj = m.Machine(code='X', name='Mr. X', note='bähm') ssession.add(nobj) ssession.commit() if __name__ == '__main__': convert() [/code] Would you like to see the SQL-output? Beside the table "Machine" there are two other tables in it - just ignore them. [sql] 2015-07-09 00:24:45,088 INFO sqlalchemy.engine.base.Engine select version() 2015-07-09 00:24:45,089 INFO sqlalchemy.engine.base.Engine {} 2015-07-09 00:24:45,096 INFO sqlalchemy.engine.base.Engine select current_schema() 2015-07-09 00:24:45,097 INFO sqlalchemy.engine.base.Engine {} 2015-07-09 00:24:45,102 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 2015-07-09 00:24:45,102 INFO sqlalchemy.engine.base.Engine {} 2015-07-09 00:24:45,107 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 2015-07-09 00:24:45,107 INFO sqlalchemy.engine.base.Engine {} 2015-07-09 00:24:45,110 INFO sqlalchemy.engine.base.Engine show standard_conforming_strings 2015-07-09 00:24:45,111 INFO sqlalchemy.engine.base.Engine {} 2015-07-09 00:24:45,119 INFO sqlalchemy.engine.base.Engine BEGIN (implicit) 2015-07-09 00:24:45,124 INFO sqlalchemy.engine.base.Engine SELECT "Machine".oid AS "Machine_oid", "Machine".code AS "Machine_code", "Machine".name AS "Machine_name", "Machine".note AS "Machine_note" FROM "Machine" LIMIT %(param_1)s 2015-07-09 00:24:45,125 INFO sqlalchemy.engine.base.Engine {'param_1': 1} 2015-07-09 00:24:45,185 INFO sqlalchemy.engine.base.Engine SELECT CAST('test plain returns' AS VARCHAR(60)) AS anon_1 2015-07-09 00:24:45,186 INFO sqlalchemy.engine.base.Engine () 2015-07-09 00:24:45,188 INFO sqlalchemy.engine.base.Engine SELECT CAST('test unicode returns' AS VARCHAR(60)) AS anon_1 2015-07-09 00:24:45,189 INFO sqlalchemy.engine.base.Engine () 2015-07-09 00:24:45,191 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("PersonalParameter") 2015-07-09 00:24:45,192 INFO sqlalchemy.engine.base.Engine () 2015-07-09 00:24:45,194 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("Machine") 2015-07-09 00:24:45,195 INFO sqlalchemy.engine.base.Engine () 2015-07-09 00:24:45,196 INFO sqlalchemy.engine.base.Engine PRAGMA table_info("TrainingUnit") 2015-07-09 00:24:45,197 INFO sqlalchemy.engine.base.Engine () 2015-07-09 00:24:45,203 INFO sqlalchemy.engine.base.Engine CREATE TABLE "PersonalParameter" ( oid INTEGER NOT NULL, date DATE, weight NUMERIC(10, 2), PRIMARY KEY (oid) ) 2015-07-09 00:24:45,204 INFO sqlalchemy.engine.base.Engine () 2015-07-09 00:24:45,377 INFO sqlalchemy.engine.base.Engine COMMIT 2015-07-09 00:24:45,381 INFO sqlalchemy.engine.base.Engine CREATE TABLE "Machine" ( oid INTEGER NOT NULL, code VARCHAR, name VARCHAR, note VARCHAR, PRIMARY KEY (oid) ) 2015-07-09 00:24:45,388 INFO sqlalchemy.engine.base.Engine () 2015-07-09 00:24:45,567 INFO sqlalchemy.engine.base.Engine COMMIT 2015-07-09 00:24:45,572 INFO sqlalchemy.engine.base.Engine CREATE TABLE "TrainingUnit" ( oid INTEGER NOT NULL, "order" INTEGER, date DATE, level INTEGER, sets INTEGER, repetitions INTEGER, machine INTEGER, PRIMARY KEY (oid), FOREIGN KEY(machine) REFERENCES "Machine" (oid) ) 2015-07-09 00:24:45,584 INFO sqlalchemy.engine.base.Engine () 2015-07-09 00:24:45,777 INFO sqlalchemy.engine.base.Engine COMMIT 2015-07-09 00:24:45,785 INFO sqlalchemy.engine.base.Engine BEGIN (implicit) 2015-07-09 00:24:45,793 INFO sqlalchemy.engine.base.Engine INSERT INTO "Machine" (code, name, note) VALUES (?, ?, ?) 2015-07-09 00:24:45,795 INFO sqlalchemy.engine.base.Engine ('X', 'Mr. X', 'bähm') 2015-07-09 00:24:45,802 INFO sqlalchemy.engine.base.Engine COMMIT 2015-07-09 00:24:45,988 INFO sqlalchemy.engine.base.Engine ROLLBACK [/sql] -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To post to this group, send email to sqlalchemy@googlegroups.com. Visit this group at http://groups.google.com/group/sqlalchemy. For more options, visit https://groups.google.com/d/optout.