Загрузка данных


import time
from base import SessionLocal, User

def init_test():
    db = SessionLocal()
    if db.query(User).count() == 0:
        users = [
            User(login='pavel', email='a@gmail.com'),
            User(login='yura', email='b@gmail.com')
        ]
        db.add_all(users)
        db.commit()
        print('Al users are added')
    else:
        print('DB already contains users')
    db.close()


if __name__ == '__main__':
    time.sleep(3)
    init_test()


[+] up 8/8
 ✔ Image docker-compose-advanced-template-db-init        Built                                                                                           2.3s
 ✔ Image docker-compose-advanced-template-backend        Built                                                                                           2.3s
 ✔ Network docker-compose-advanced-template_default      Created                                                                                         0.0s
 ✔ Volume docker-compose-advanced-template_pg_data       Created                                                                                         0.0s
 ✔ Container docker-compose-advanced-template-db-1       Created                                                                                         0.1s
 ✔ Container docker-compose-advanced-template-db-init-1  Created                                                                                         0.1s
 ✔ Container docker-compose-advanced-template-backend-1  Created                                                                                         0.1s
 ✔ Container docker-compose-advanced-template-frontend-1 Created                                                                                         0.2s
Attaching to backend-1, db-1, db-init-1, frontend-1
Container docker-compose-advanced-template-db-1 Waiting 
db-1  | The files belonging to this database system will be owned by user "postgres".
db-1  | This user must also own the server process.
db-1  |                                                                                                                                                      
db-1  | The database cluster will be initialized with locale "en_US.utf8".                                                                                   
db-1  | The default database encoding has accordingly been set to "UTF8".                                                                                    
db-1  | The default text search configuration will be set to "english".                                                                                      
db-1  | 
db-1  | Data page checksums are disabled.                                                                                                                    
db-1  |                                                                                                                                                      
db-1  | fixing permissions on existing directory /var/lib/postgresql/data ... ok
db-1  | creating subdirectories ... ok                                                                                                                       
db-1  | selecting dynamic shared memory implementation ... posix                                                                                             
db-1  | selecting default max_connections ... 100
db-1  | selecting default shared_buffers ... 128MB                                                                                                           
db-1  | selecting default time zone ... UTC                                                                                                                  
db-1  | creating configuration files ... ok
db-1  | running bootstrap script ... ok
db-1  | sh: locale: not found
db-1  | 2026-05-24 13:32:47.926 UTC [35] WARNING:  no usable system locales were found
db-1  | performing post-bootstrap initialization ... ok                                                                                                      
db-1  | initdb: warning: enabling "trust" authentication for local connections
db-1  | initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
db-1  | syncing data to disk ... ok                                                                                                                          
db-1  |                                                                                                                                                      
db-1  | 
db-1  | Success. You can now start the database server using:                                                                                                
db-1  | 
db-1  |     pg_ctl -D /var/lib/postgresql/data -l logfile start                                                                                              
db-1  |                                                                                                                                                      
db-1  | waiting for server to start....2026-05-24 13:32:49.094 UTC [41] LOG:  starting PostgreSQL 15.18 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit
db-1  | 2026-05-24 13:32:49.099 UTC [41] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db-1  | 2026-05-24 13:32:49.108 UTC [44] LOG:  database system was shut down at 2026-05-24 13:32:48 UTC                                                      
db-1  | 2026-05-24 13:32:49.114 UTC [41] LOG:  database system is ready to accept connections                                                                
db-1  |  done
db-1  | server started
db-1  | 
db-1  | /usr/local/bin/docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/*
db-1  | 
db-1  | waiting for server to shut down....2026-05-24 13:32:49.202 UTC [41] LOG:  received fast shutdown request                                             
db-1  | 2026-05-24 13:32:49.206 UTC [41] LOG:  aborting any active transactions                                                                              
db-1  | 2026-05-24 13:32:49.209 UTC [41] LOG:  background worker "logical replication launcher" (PID 47) exited with exit code 1                             
db-1  | 2026-05-24 13:32:49.209 UTC [42] LOG:  shutting down
db-1  | 2026-05-24 13:32:49.212 UTC [42] LOG:  checkpoint starting: shutdown immediate                                                                       
db-1  | 2026-05-24 13:32:49.228 UTC [42] LOG:  checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.005 s, sync=0.003 s, total=0.019 s; sync files=2, longest=0.002 s, average=0.002 s; distance=0 kB, estimate=0 kB                                                          
db-1  | 2026-05-24 13:32:49.233 UTC [41] LOG:  database system is shut down
db-1  |  done
db-1  | server stopped
db-1  | 
db-1  | PostgreSQL init process complete; ready for start up.
db-1  |                                                                                                                                                      
db-1  | 2026-05-24 13:32:49.343 UTC [1] LOG:  starting PostgreSQL 15.18 on x86_64-pc-linux-musl, compiled by gcc (Alpine 15.2.0) 15.2.0, 64-bit              
db-1  | 2026-05-24 13:32:49.343 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
db-1  | 2026-05-24 13:32:49.343 UTC [1] LOG:  listening on IPv6 address "::", port 5432                                                                      
db-1  | 2026-05-24 13:32:49.348 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"                                                   
db-1  | 2026-05-24 13:32:49.355 UTC [55] LOG:  database system was shut down at 2026-05-24 13:32:49 UTC                                                      
db-1  | 2026-05-24 13:32:49.361 UTC [1] LOG:  database system is ready to accept connections
Container docker-compose-advanced-template-db-1 Healthy                                                                                                      
Container docker-compose-advanced-template-db-init-1 Waiting 
db-init-1  | Traceback (most recent call last):
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 143, in __init__
db-init-1  |     self._dbapi_connection = engine.raw_connection()
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3317, in raw_connection                                        
db-init-1  |     return self.pool.connect()
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 448, in connect
db-init-1  |     return _ConnectionFairy._checkout(self)                                                                                                     
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1272, in _checkout                                               
db-init-1  |     fairy = _ConnectionRecord.checkout(pool)
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 712, in checkout                                                 
db-init-1  |     rec = pool._do_get()                                                                                                                        
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get                                                  
db-init-1  |     with util.safe_reraise():                                                                                                                   
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__
db-init-1  |     raise exc_value.with_traceback(exc_tb)                                                                                                      
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 175, in _do_get                                                  
db-init-1  |     return self._create_connection()                                                                                                            
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 389, in _create_connection
db-init-1  |     return _ConnectionRecord(self)                                                                                                              
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__                                                 
db-init-1  |     self.__connect()                                                                                                                            
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect
db-init-1  |     with util.safe_reraise():
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__                                          
db-init-1  |     raise exc_value.with_traceback(exc_tb)                                                                                                      
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect                                                
db-init-1  |     self.dbapi_connection = connection = pool._invoke_creator(self)
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 667, in connect                                              
db-init-1  |     return dialect.connect(*cargs_tup, **cparams)                                                                                               
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 630, in connect                                             
db-init-1  |     return self.loaded_dbapi.connect(*cargs, **cparams)  # type: ignore[no-any-return]  # NOQA: E501                                            
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect
db-init-1  |     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)                                                                      
db-init-1  | psycopg2.OperationalError: connection to server at "localhost" (::1), port 5432 failed: Connection refused                                      
db-init-1  |    Is the server running on that host and accepting TCP/IP connections?                                                                         
db-init-1  | connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused                                                           
db-init-1  |    Is the server running on that host and accepting TCP/IP connections?
db-init-1  |                                                                                                                                                 
db-init-1  |                                                                                                                                                 
db-init-1  | The above exception was the direct cause of the following exception:                                                                            
db-init-1  |                                                                                                                                                 
db-init-1  | Traceback (most recent call last):
db-init-1  |   File "/app/init_db.py", line 3, in <module>                                                                                                   
db-init-1  |     Base.metadata.create_all(bind=engine)                                                                                                       
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/schema.py", line 5931, in create_all                                             
db-init-1  |     bind._run_ddl_visitor(                                                                                                                      
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3267, in _run_ddl_visitor
db-init-1  |     with self.begin() as conn:                                                                                                                  
db-init-1  |   File "/usr/local/lib/python3.10/contextlib.py", line 135, in __enter__                                                                        
db-init-1  |     return next(self.gen)
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3257, in begin                                                 
db-init-1  |     with self.connect() as conn:                                                                                                                
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3293, in connect                                               
db-init-1  |     return self._connection_cls(self)                                                                                                           
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 145, in __init__
db-init-1  |     Connection._handle_dbapi_exception_noconnection(                                                                                            
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 2448, in _handle_dbapi_exception_noconnection                  
db-init-1  |     raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 143, in __init__                                               
db-init-1  |     self._dbapi_connection = engine.raw_connection()                                                                                            
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/base.py", line 3317, in raw_connection                                        
db-init-1  |     return self.pool.connect()                                                                                                                  
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 448, in connect                                                  
db-init-1  |     return _ConnectionFairy._checkout(self)
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 1272, in _checkout                                               
db-init-1  |     fairy = _ConnectionRecord.checkout(pool)
db-init-1 exited with code 1                                                                                                                                 
                                                                                                                                                             
                                                                                                                                                             
db-init-1  |     rec = pool._do_get()
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get
db-init-1  |     with util.safe_reraise():
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__                                          
db-init-1  |     raise exc_value.with_traceback(exc_tb)                                                                                                      
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/impl.py", line 175, in _do_get                                                  
db-init-1  |     return self._create_connection()                                                                                                            
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 389, in _create_connection
db-init-1  |     return _ConnectionRecord(self)                                                                                                              
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 674, in __init__                                                 
db-init-1  |     self.__connect()
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 900, in __connect                                                
db-init-1  |     with util.safe_reraise():                                                                                                                   
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 121, in __exit__                                          
db-init-1  |     raise exc_value.with_traceback(exc_tb)
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/pool/base.py", line 896, in __connect                                                
db-init-1  |     self.dbapi_connection = connection = pool._invoke_creator(self)                                                                             
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/create.py", line 667, in connect                                              
db-init-1  |     return dialect.connect(*cargs_tup, **cparams)                                                                                               
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/sqlalchemy/engine/default.py", line 630, in connect
db-init-1  |     return self.loaded_dbapi.connect(*cargs, **cparams)  # type: ignore[no-any-return]  # NOQA: E501                                            
db-init-1  |   File "/usr/local/lib/python3.10/site-packages/psycopg2/__init__.py", line 122, in connect                                                     
db-init-1  |     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)                                                                      
db-init-1  | sqlalchemy.exc.OperationalError: (psycopg2.OperationalError) connection to server at "localhost" (::1), port 5432 failed: Connection refused    
db-init-1  |    Is the server running on that host and accepting TCP/IP connections?
db-init-1  | connection to server at "localhost" (127.0.0.1), port 5432 failed: Connection refused                                                           
db-init-1  |    Is the server running on that host and accepting TCP/IP connections?                                                                         
db-init-1  | 
db-init-1  | (Background on this error at: https://sqlalche.me/e/20/e3q8)                                                                                    
Container docker-compose-advanced-template-db-init-1 Error service "db-init" didn't complete successfully: exit 1                                            
service "db-init" didn't complete successfully: exit 1
v View in Docker Desktop   o View Config   w Enable Watch   d Detach