Compare commits
9 Commits
5b09353b06
...
1af9a7b4d9
| Author | SHA1 | Date | |
|---|---|---|---|
| 1af9a7b4d9 | |||
| de9c0e6724 | |||
| 3ad35c6980 | |||
| b5a2938b12 | |||
| 9af6b71712 | |||
| bda32cca6a | |||
| b23c1a8b62 | |||
| 882a06f226 | |||
| 50b329bd35 |
@@ -1,14 +1,8 @@
|
||||
import os
|
||||
import asyncpg
|
||||
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine, session
|
||||
import dotenv
|
||||
from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine
|
||||
|
||||
# connection = psycopg2.connect(*(os.getenv(key) for key in ["DATABASE", "DB_HOST", "DB_USER", "DB_PASSWORD"]))
|
||||
# connection.autocommit = True
|
||||
|
||||
dotenv.load_dotenv(".env")
|
||||
DATABASE_URL = (f"postgresql+asyncpg://{os.getenv('DB_USER')}:{os.getenv('DB_PASSWORD')}@"
|
||||
f"{os.getenv('DB_HOST')}/{os.getenv('DATABASE')}")
|
||||
print(DATABASE_URL)
|
||||
|
||||
engine = create_async_engine(DATABASE_URL, echo=True)
|
||||
async_session_ = async_sessionmaker(bind=engine, expire_on_commit=False)
|
||||
|
||||
@@ -13,10 +13,11 @@ class Base(DeclarativeBase):
|
||||
class Worker(Base):
|
||||
"""
|
||||
id SERIAL PRIMARY KEY,
|
||||
telegram_id INTEGER UNIQUE NOT NULL,
|
||||
telegram_id BIGINT UNIQUE NOT NULL,
|
||||
name VARCHAR NOT NULL,
|
||||
email VARCHAR(50),
|
||||
phone_number VARCHAR(20) NOT NULL,
|
||||
phone_number VARCHAR(20),
|
||||
job_title job_title default 'Сборщик',
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP
|
||||
"""
|
||||
@@ -27,7 +28,7 @@ class Worker(Base):
|
||||
name = Column(String, nullable=False)
|
||||
email = Column(String, nullable=True)
|
||||
phone_number = Column(String, default=None)
|
||||
job_title = Column(job_title, default='Сборщик'),
|
||||
job_title = Column(job_title, default='Сборщик')
|
||||
created_at = Column(Date, server_default=func.now())
|
||||
updated_at = Column(Date, onupdate=func.now())
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
import logging
|
||||
import os
|
||||
from typing import Any
|
||||
from aiogram.types import Message, CallbackQuery
|
||||
from aiogram.filters import BaseFilter
|
||||
from keyboards.menu_commands import commands
|
||||
import os
|
||||
|
||||
loggger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
from .Filters import IsAdmin
|
||||
from .Filters import IsRegister
|
||||
|
||||
__all__ = ["IsRegister", "IsAdmin"]
|
||||
38
drone.yaml
38
drone.yaml
@@ -17,31 +17,39 @@ steps:
|
||||
- name: dockersock
|
||||
path: /var/run/docker.sock
|
||||
commands:
|
||||
- docker build -t myapp:${DRONE_COMMIT_SHA} .
|
||||
- docker build -t myapp:${DRONE_COMMIT_BRANCH} .
|
||||
|
||||
- name: deploy
|
||||
image: alpine
|
||||
image: docker
|
||||
volumes:
|
||||
- name: dockersock
|
||||
path: /var/run/docker.sock
|
||||
- name: env
|
||||
path: /srv/prod/telegram_bot/
|
||||
environment:
|
||||
ENV_CONTENT:
|
||||
from_secret: DOT_ENV_CONTENT
|
||||
TOKEN:
|
||||
from_secret: TOKEN
|
||||
BOT_ADMINS:
|
||||
from_secret: BOT_ADMINS
|
||||
DATABASE:
|
||||
from_secret: DATABASE
|
||||
DB_HOST:
|
||||
from_secret: DB_HOST
|
||||
DB_USER:
|
||||
from_secret: DB_USER
|
||||
DB_PASSWORD:
|
||||
from_secret: DB_PASSWORD
|
||||
commands:
|
||||
- apk add --no-cache openssh
|
||||
- echo "$ENV_CONTENT" > .env
|
||||
settings:
|
||||
host: localhost
|
||||
username: ronis_0505
|
||||
password: 667766
|
||||
script:
|
||||
- docker pull myapp:${DRONE_COMMIT_SHA}
|
||||
- docker stop myapp || true
|
||||
- docker rm myapp || true
|
||||
- docker run -d --name myapp \
|
||||
--network prod_net \
|
||||
-v /srv/prod/telegram_bot/photos:/app/photos/ \
|
||||
myapp:${DRONE_COMMIT_SHA}
|
||||
- docker run --name=myapp --network=prod_net -v /srv/prod/telegram_bot/photos:/app/photos/ -v /srv/prod/telegram_bot/.env:/app/.env:ro myapp:${DRONE_COMMIT_BRANCH}
|
||||
|
||||
|
||||
volumes:
|
||||
- name: dockersock
|
||||
host:
|
||||
path: /var/run/docker.sock
|
||||
- name: env
|
||||
host:
|
||||
path: /srv/prod/telegram_bot/
|
||||
Reference in New Issue
Block a user