Skip to content

Commit

Permalink
add tests for mssql (#11)
Browse files Browse the repository at this point in the history
  • Loading branch information
ronenlu authored Jan 26, 2024
1 parent 52142fd commit a50b3c4
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 3 deletions.
6 changes: 5 additions & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
integration-tests:
strategy:
matrix:
dialect: [ mysql, postgresql, sqlite ]
dialect: [ mysql, postgresql, sqlite, mssql ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -59,6 +59,8 @@ jobs:
working-directory: ./tests
run: |
atlas migrate diff --env sqlalchemy -c "file://atlas-standalone.hcl" --var dialect=${{ matrix.dialect }}
env:
ATLAS_TOKEN: ${{ secrets.ATLAS_TOKEN }}
- name: Verify migrations generated
working-directory: ./tests
run: |
Expand All @@ -74,6 +76,8 @@ jobs:
run: |
export PYTHONPATH=$PYTHONPATH:$(cd ../ && pwd)
atlas migrate diff --env sqlalchemy -c "file://atlas-script.hcl" --var dialect=${{ matrix.dialect }}
env:
ATLAS_TOKEN: ${{ secrets.ATLAS_TOKEN }}
- name: Verify migrations generated
working-directory: ./tests
run: |
Expand Down
3 changes: 2 additions & 1 deletion tests/atlas-script.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ locals {
mysql = "docker://mysql/8/dev"
postgresql = "docker://postgres/15"
sqlite = "sqlite://?mode=memory&_fk=1"
mssql = "docker://sqlserver/2022-latest"
}[var.dialect]
}

Expand All @@ -16,7 +17,7 @@ data "external_schema" "sqlalchemy" {
"run",
"python3",
"load_models.py",
var.dialect, // mysql | postgresql | sqlite | mssql+pyodbc
var.dialect, // mysql | postgresql | sqlite | mssql
]
}

Expand Down
3 changes: 2 additions & 1 deletion tests/atlas-standalone.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ locals {
mysql = "docker://mysql/8/dev"
postgresql = "docker://postgres/15"
sqlite = "sqlite://?mode=memory&_fk=1"
mssql = "docker://sqlserver/2022-latest"
}[var.dialect]
}

Expand All @@ -17,7 +18,7 @@ data "external_schema" "sqlalchemy" {
"python3",
"../atlas_provider_sqlalchemy/main.py",
"--path", "models",
"--dialect", var.dialect, // mysql | postgresql | sqlite | mssql+pyodbc
"--dialect", var.dialect, // mysql | postgresql | sqlite | mssql
]
}

Expand Down
16 changes: 16 additions & 0 deletions tests/migrations/mssql/20240125192026.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-- Create "user_account" table
CREATE TABLE [user_account] (
[id] int IDENTITY (1, 1) NOT NULL,
[name] varchar(30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[fullname] varchar(30) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
CONSTRAINT [PK_user_account] PRIMARY KEY CLUSTERED ([id] ASC)
);
-- Create "address" table
CREATE TABLE [address] (
[id] int IDENTITY (1, 1) NOT NULL,
[email_address] varchar(30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
[user_id] int NOT NULL,
CONSTRAINT [PK_address] PRIMARY KEY CLUSTERED ([id] ASC),

CONSTRAINT [FK__address__user_id__22CA2527] FOREIGN KEY ([user_id]) REFERENCES [user_account] ([id]) ON UPDATE NO ACTION ON DELETE NO ACTION
);
2 changes: 2 additions & 0 deletions tests/migrations/mssql/atlas.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
h1:067sNKWwxUzYEHi3IysI6sfgmplP9lwYZvsdR4pj8lw=
20240125192026.sql h1:t14KpnQqIepqloh4dAmKkRZHC8lGKuLAY6Tbdhz31jg=

0 comments on commit a50b3c4

Please sign in to comment.