feat(deploy): 接入生产密钥与数据库迁移
Deploy Production / deploy (push) Successful in 1m42s

This commit is contained in:
yuxuanhui
2026-08-05 22:45:57 +08:00
parent d7d5ed8979
commit afdc5ca909
9 changed files with 139 additions and 33 deletions
@@ -6,17 +6,24 @@ from alembic import command
from alembic.config import Config
from sqlalchemy import Engine, create_engine, inspect
from zhixing_server.bootstrap.config import get_settings, sqlalchemy_database_url
@pytest.mark.integration
def test_postgres_migration_creates_market_data_contract() -> None:
def test_postgres_migration_creates_market_data_contract(
monkeypatch: pytest.MonkeyPatch,
) -> None:
database_url = os.getenv("ZHIXING_TEST_DATABASE_URL")
if not database_url:
pytest.skip("set ZHIXING_TEST_DATABASE_URL to run PostgreSQL integration tests")
monkeypatch.setenv("ZHIXING_DATABASE_URL", database_url)
get_settings.cache_clear()
server_root = Path(__file__).parents[2]
config = Config(str(server_root / "alembic.ini"))
config.set_main_option("sqlalchemy.url", database_url.replace("%", "%%"))
engine: Engine = create_engine(database_url)
sqlalchemy_url = sqlalchemy_database_url(database_url)
config.set_main_option("sqlalchemy.url", sqlalchemy_url.replace("%", "%%"))
engine: Engine = create_engine(sqlalchemy_url)
command.upgrade(config, "head")
try:
tables = set(inspect(engine).get_table_names())
@@ -29,3 +36,4 @@ def test_postgres_migration_creates_market_data_contract() -> None:
} <= tables
finally:
engine.dispose()
get_settings.cache_clear()