README.md
This commit is contained in:
+42
@@ -0,0 +1,42 @@
|
||||
from sqlalchemy import inspect, text
|
||||
from database import db
|
||||
|
||||
|
||||
def run_migrations():
|
||||
db.create_all()
|
||||
print("Таблицы созданы (или уже существуют)")
|
||||
_add_profile_columns()
|
||||
print("Все миграции применены!")
|
||||
|
||||
|
||||
def _add_profile_columns():
|
||||
inspector = inspect(db.engine)
|
||||
existing_columns = [col['name'] for col in inspector.get_columns('users')]
|
||||
|
||||
columns_to_add = {
|
||||
'email': 'VARCHAR(255) NULL',
|
||||
'jabber': 'VARCHAR(255) NULL',
|
||||
'updated_at': 'DATETIME NULL',
|
||||
'notify_email': 'BOOLEAN DEFAULT 0',
|
||||
'notify_jabber': 'BOOLEAN DEFAULT 0',
|
||||
}
|
||||
|
||||
added = []
|
||||
for col_name, col_type in columns_to_add.items():
|
||||
if col_name not in existing_columns:
|
||||
print(f"Добавляем колонку: {col_name}")
|
||||
db.session.execute(text(f"ALTER TABLE users ADD COLUMN {col_name} {col_type}"))
|
||||
added.append(col_name)
|
||||
|
||||
if added:
|
||||
db.session.commit()
|
||||
print(f"Добавлены колонки: {', '.join(added)}")
|
||||
else:
|
||||
print("ℹВсе колонки профиля уже существуют")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
from main import app
|
||||
|
||||
with app.app_context():
|
||||
run_migrations()
|
||||
Reference in New Issue
Block a user