-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcomand
More file actions
98 lines (66 loc) · 2.79 KB
/
Copy pathcomand
File metadata and controls
98 lines (66 loc) · 2.79 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
docker compose up -d --build
http://localhost:15432/
docker compose down
docker compose down -v
docker exec app_postgres_container hostname -I или -i
alembic init -t async app/migration
; Измененный код migration/env.py
; import asyncio
; from logging.config import fileConfig
; from sqlalchemy import pool
; from sqlalchemy.ext.asyncio import async_engine_from_config
; from alembic import context
; from bot.database import Base, DATABASE_PG_URL
; from bot.users.models import User # Импортируйте ваши модели
; config = context.config
; config.set_main_option("sqlalchemy.url", DATABASE_PG_URL)
; if config.config_file_name is not None:
; fileConfig(config.config_file_name)
; target_metadata = Base.metadata
; def run_migrations_offline() -> None:
; url = config.get_main_option("sqlalchemy.url")
; context.configure(
; url=url,
; target_metadata=target_metadata,
; literal_binds=True,
; dialect_opts={"paramstyle": "named"},
; )
; with context.begin_transaction():
; context.run_migrations()
; def do_run_migrations(connection) -> None:
; context.configure(connection=connection, target_metadata=target_metadata)
; with context.begin_transaction():
; context.run_migrations()
; async def run_async_migrations() -> None:
; connectable = async_engine_from_config(
; config.get_section(config.config_ini_section, {}),
; prefix="sqlalchemy.",
; poolclass=pool.NullPool,
; )
; async with connectable.connect() as connection:
; await connection.run_sync(do_run_migrations)
; await connectable.dispose()
; def run_migrations_online() -> None:
; asyncio.run(run_async_migrations())
; if context.is_offline_mode():
; run_migrations_offline()
; else:
; run_migrations_online()
alembic.ini -> sqlalchemy.url = sqlite+aiosqlite:///data/db.sqlite3
alembic.ini -> sqlalchemy.url = postgresql://postgres_container:postgres_container@172.18.0.2:5432/postgres
alembic revision --autogenerate -m "Initial revision"
alembic upgrade head #Обновление базы данных до последней версии миграции
docker compose exec bot alembic upgrade head
alembic downgrade -1 # Чтобы откатить миграцию на одну версию назад или alembic downgrade d97a9824423b
alembic current
docker exec -it bot psql -h 127.0.0.1 -U postgres -d db_mailing_bot
nginx
sudo nano /etc/nginx/sites-enabled/bot_mailing
sudo nginx -t
sudo systemctl stop nginx
sudo certbot certonly --standalone --preferred-challenges http -d sender-mailing-bot.duckdns.org
sudo nginx -t
sudo systemctl start nginx
sudo cp mailingbot.service /etc/systemd/system
sudo systemctl enable mailingbot.service
sudo systemctl restart mailingbot.service