... and back to PostgreSQL
This commit is contained in:
		
							parent
							
								
									592e653561
								
							
						
					
					
						commit
						dba278fc02
					
				
					 4 changed files with 21 additions and 12 deletions
				
			
		|  | @ -5,20 +5,22 @@ build-backend = "setuptools.build_meta" | |||
| [project] | ||||
| name = "py-scopes" | ||||
| version = "3.0.1" | ||||
| description = "Implementation of the strange 'scopes' paradigma in Python" | ||||
| description = "Implementation of the unknown 'scopes' paradigm in Python" | ||||
| readme = "README.md" | ||||
| license = {text = "MIT"} | ||||
| keywords = ["scopes"] | ||||
| authors = [{name = "Helmut Merz", email = "helmutm@cy55.de"}] | ||||
| 
 | ||||
| dependencies = [ | ||||
| ] | ||||
| 
 | ||||
| [project.optional-dependencies] | ||||
| postgres = [ | ||||
| 	"transaction", | ||||
| 	"psycopg[binary]", | ||||
| 	"SQLAlchemy", | ||||
| 	"zope.sqlalchemy", | ||||
| ] | ||||
| 
 | ||||
| [project.optional-dependencies] | ||||
| app = ["python-dotenv", "zope.publisher", "zope.traversing"] | ||||
| test = ["pytest"] | ||||
| 
 | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ | |||
| """Database-related code specific for PostgreSQL.""" | ||||
| 
 | ||||
| from sqlalchemy import create_engine | ||||
| from sqlalchemy import BigInteger, JSONB | ||||
| from sqlalchemy import BigInteger | ||||
| from sqlalchemy.dialects.postgresql import JSONB | ||||
| from sqlalchemy.orm import scoped_session, sessionmaker | ||||
| import transaction | ||||
|  | @ -21,3 +21,12 @@ def getEngine(dbtype, dbname, user, pw, host='localhost', port=5432, **kw): | |||
| 
 | ||||
| def commit(conn): | ||||
|     transaction.commit() | ||||
| 
 | ||||
| import scopes.storage.common | ||||
| scopes.storage.common.IdType = BigInteger | ||||
| scopes.storage.common.JsonType = JSONB | ||||
| scopes.storage.common.sessionFactory = sessionFactory | ||||
| scopes.storage.common.getEngine = getEngine | ||||
| scopes.storage.common.mark_changed = mark_changed | ||||
| scopes.storage.common.commit = commit | ||||
| 
 | ||||
|  |  | |||
|  | @ -9,6 +9,7 @@ app = zope_app | |||
| # storage settings | ||||
| 
 | ||||
| # PostgreSQL | ||||
| import scopes.storage.db.postgres | ||||
| dbengine = 'postgresql+psycopg' | ||||
| dbname = 'testdb' | ||||
| dbuser = 'testuser' | ||||
|  | @ -16,7 +17,7 @@ dbpassword = 'secret' | |||
| dbschema = 'testing' | ||||
| 
 | ||||
| # SQLite | ||||
| dbengine = 'sqlite' | ||||
| dbname = 'var/test.db' | ||||
| dbschema = None | ||||
| #dbengine = 'sqlite' | ||||
| #dbname = 'var/test.db' | ||||
| #dbschema = None | ||||
| 
 | ||||
|  |  | |||
|  | @ -17,9 +17,7 @@ engine = getEngine(config.dbengine, config.dbname, config.dbuser, config.dbpassw | |||
| scopes.storage.common.engine = engine | ||||
| scopes.storage.common.Session = sessionFactory(engine) | ||||
| 
 | ||||
| #storage = Storage(schema='testing') | ||||
| #storage = Storage(schema=config.dbschema) | ||||
| storage = Storage() | ||||
| storage = Storage(schema=config.dbschema) | ||||
| 
 | ||||
| 
 | ||||
| class Test(unittest.TestCase): | ||||
|  | @ -86,8 +84,7 @@ class Test(unittest.TestCase): | |||
|         self.assertEqual(ch1.parent, top.rid) | ||||
|         assert list(top.keys()) == ['child1'] | ||||
| 
 | ||||
|         #transaction.commit() | ||||
|         storage.session.commit() | ||||
|         commit(storage.session) | ||||
| 
 | ||||
| def suite(): | ||||
|     return unittest.TestSuite(( | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue