воскресенье, 14 декабря 2025 г.

sqllocaldb, VisualStudio, Connection

sqllocaldb, VisualStudio, Connection

@"Server=(localdb)\mssqllocaldb;Database=DbTrade3;Trusted_Connection=True;"



sqllocaldb, VisualStudio, Project, dotnet tool, install

sqllocaldb, VisualStudio, Project, dotnet tool, install

WIN-C3FC7KU40FE\SQLEXPRESS

(localdb)\mssqllocaldb;Database=DbTrade3;Trusted_Connection=True;

(localdb)\mssqllocaldb

**********************************************************************

** Visual Studio 2026 Developer PowerShell v18.0.2

** Copyright (c) 2025 Microsoft Corporation

**********************************************************************

PS F:\Projects\VS\TradingApi> dotnet ef migrations add InitialCreate -p TradingDAL

Could not execute because the specified command or file was not found.

Possible reasons for this include:

  * You misspelled a built-in dotnet command.

  * You intended to execute a .NET program, but dotnet-ef does not exist.

  * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.

PS F:\Projects\VS\TradingApi> dotnet tool install --global dotnet-ef

You can invoke the tool using the following command: dotnet-ef

Tool 'dotnet-ef' (version '10.0.1') was successfully installed.

PS F:\Projects\VS\TradingApi> dotnet ef migrations add InitialCreate -p TradingDAL

Build started...

Build succeeded.

Done. To undo this action, use 'ef migrations remove'

PS F:\Projects\VS\TradingApi> dotnet ef database update -p TradingDAL

Build started...

Build succeeded.

Acquiring an exclusive lock for migration application. See https://aka.ms/efcore-docs-migrations-lock for more information if this takes too long.

Applying migration '20251215041501_InitialCreate'.

Done.

PS F:\Projects\VS\TradingApi>

DataBase, SSMS, Entry

DataBase, SSMS, Entry

WIN-C3FC7KU40FE\SQLEXPRESS

четверг, 7 августа 2025 г.

SQLite, Phind

На диаграмме показаны две таблицы: ORDER и TRADE. Хотя в исходном коде связь между ними не определена явно, на практике они часто связаны через поле symbol, которое присутствует в обеих таблицах. PK в диаграмме означает Primary Key (первичный ключ) - уникальный идентификатор записи в таблице.

Теперь реализуем создание структуры базы данных и запись данных:

# 1. Создание структуры базы данных

from flask import Flask

from flask_sqlalchemy import SQLAlchemy


app = Flask(__name__)

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///trading.db'

app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False


db = SQLAlchemy(app)


# Определяем модели

class Order(db.Model):

    id = db.Column(db.Integer, primary_key=True)

    symbol = db.Column(db.String(10), nullable=False)

    price = db.Column(db.Float, nullable=False)

    quantity = db.Column(db.Integer, nullable=False)


class Trade(db.Model):

    id = db.Column(db.Integer, primary_key=True)

    symbol = db.Column(db.String(10), nullable=False)

    price = db.Column(db.Float, nullable=False)

    quantity = db.Column(db.Integer, nullable=False)


# Создаем структуру базы данных

with app.app_context():

    db.create_all()

------------------------------------------------------------------------------

2. Запись данных в базу данных (по одной таблице):

-------------------------------------------------------------------------------

# 2. Запись данных в таблицу Order

with app.app_context():

    # Очищаем таблицу, если нужно

    Order.query.delete()

    

    # Создаем новую запись

    order = Order(

        symbol='AAPL',

        price=150.50,

        quantity=100

    )

    # Добавляем и сохраняем запись

    db.session.add(order)

    db.session.commit()

# 3. Запись данных в таблицу Trade

with app.app_context():

    # Очищаем таблицу, если нужно

    Trade.query.delete()

    # Создаем новую запись

    trade = Trade(

        symbol='AAPL',

        price=150.75,

        quantity=50

    )

    

    # Добавляем и сохраняем запись

    db.session.add(trade)

    db.session.commit()

---------------------------------------------------

Важные замечания:

  • Каждый блок кода должен выполняться отдельно
  • Перед записью в каждую таблицу выполняется очистка для демонстрационных целей
  • Используется app.app_context() для обеспечения правильной работы с базой данных
  • flask-sqlalchemy.readthedocs.io
  • После каждой операции добавления записи вызывается db.session.commit() для сохранения изменений